【发布时间】:2021-08-31 16:14:29
【问题描述】:
我有以下数据框:
| _name | data |
|---|---|
| Test | {[{0, 0, 1, 0 }]} |
我希望输出为:
| allNames | data |
|---|---|
| Test | 0 |
| Test | 0 |
| Test | 1 |
| Test | 1 |
我尝试了explode函数,但是下面的代码只是返回了与上面相同的数据帧,只是标题发生了变化。如何更改代码以获得预期的输出?
val t = cabinetDF.select(col("_attrname").as("allNames"),functions.explode(array(col("ROWDATA"))))
t.show(false)
【问题讨论】:
-
什么是
{[{0, 0, 1, 0 }]}?这看起来不像是有效的 Spark 数据类型。 -
我使用结构类型从 XML 读取数据,这就是我得到的。需要先转成数组吗?
标签: scala dataframe function apache-spark