【发布时间】:2018-02-19 15:40:17
【问题描述】:
您好,我有一个深度嵌套的 json 文件。我使用 sparklyr 读取这个 json 文件并将这个“数据”对象命名为。
首先我将展示数据结构的样子:
# Database: spark_connection
data
-a : string
-b : string
-c : (struct)
c1 : string
c2 : (struct)
c21: string
c22: string
类似的东西。因此,如果我使用以下方法提取“a”:
data %>% sdf_select(a)
我可以查看里面的数据,比如:
# Database: spark_connection
a
<chr>
1 Hello world
2 Stack overflow is epic
现在的问题是当我使用 sdf_select() 更深的结构时,即
data %>% sdf_select(c.c2.c22)
查看里面的数据,我明白了
# Database: spark_connection
c22
<list>
1 <list [1]>
2 <list [1]>
3 <list [1]>
4 <lgl [1]>
所以如果我收集数据以便 spark 数据帧变成 R 数据帧并使用命令查看数据
View(collect(data %>% sdf_select(c.c2.c22)))
数据显示
1 list("Good")
2 list("Bad")
3 NA
如何将上面每个列表中的每个条目转换为数据框表,以便它只显示 Good、Bad、NA 而不是 list("")?
【问题讨论】:
-
试试
unlist()(另见stackoverflow.com/questions/49200863/…)