【发布时间】:2017-10-10 14:40:46
【问题描述】:
我正在使用 Spark 1.6
这是我的数据:
eDF = sqlsc.createDataFrame([Row(v=1, eng_1=10,eng_2=20),
Row(v=2, eng_1=15,eng_2=30),
Row(v=3, eng_1=8,eng_2=12)])
eDF.select('v','eng_1','eng_2').show()
+---+-----+-----+
| v|eng_1|eng_2|
+---+-----+-----+
| 1| 10| 20|
| 2| 15| 30|
| 3| 8| 12|
+---+-----+-----+
我想“展平”这张桌子。 也就是说:
+---+-----+---+
| v| key|val|
+---+-----+---+
| 1|eng_1| 10|
| 1|eng_2| 20|
| 2|eng_1| 15|
| 2|eng_2| 30|
| 3|eng_1| 8|
| 3|eng_2| 12|
+---+-----+---+
请注意,由于我使用的是 Spark 1.6,因此我无法使用 pyspar.sql.functions.create_map 或 pyspark.sql.functions.posexplode。
【问题讨论】: