我有一个带有数组类型列的数据框
例如 :
val df = List(("a", Array(1d,2d,3d)), ("b", Array(4d,5d,6d))).toDF("ID", "DATA")
df: org.apache.spark.sql.DataFrame = [ID: string, DATA: array<double>]
scala> df.show
+---+---------------+
| ID| DATA|
+---+---------------+
| a|[1.0, 2.0, 3.0]|
| b|[4.0, 5.0, 6.0]|
+---+---------------+
我希望分解数组并具有像这样的索引
+---+------------------+
| ID| DATA_INDEX| DATA|
+---+------------------+
| a|1 | 1.0 |
| a|2 | 2.0 |
| a|3 | 3.0 |
| b|1 | 4.0 |
| b|2 | 5.0 |
| b|3 | 6.0 |
+---+------------+-----+
我希望能够使用 scala、Sparlyr 或 SparkR 来做到这一点
我用的是火花1.6
有一个posexplode
Spark 中可用的函数功能 https://spark.apache.org/docs/latest/api/java/org/apache/spark/sql/functions.html
import org.apache.spark.sql.functions._
df.select("ID", posexplode($"DATA))
PS:此功能仅适用于2.1.0
版本
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)