Oct*_*erA 1 scala dataframe apache-spark
我有一个带有数组类型列的数据框,例如:
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]|
+---+---------------+
Run Code Online (Sandbox Code Playgroud)
我希望爆炸数组并具有索引
+---+------------------+
| 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 |
+---+------------+-----+
Run Code Online (Sandbox Code Playgroud)
我希望能够用 Scala 和 Sparlyr 或 SparkR 来做到这一点,我正在使用 spark 1.6
import org.apache.spark.sql.functions._
df.select("ID", posexplode($"DATA))
Run Code Online (Sandbox Code Playgroud)
PS:此2.1.0版本仅在版本后可用
| 归档时间: |
|
| 查看次数: |
3184 次 |
| 最近记录: |