【发布时间】:2018-11-29 09:08:39
【问题描述】:
用 spark 读取 parquet 文件
df = spark.read.parquet("path_to_file")
df.show(2)
我的 df 包含
**Output**
+------+-----------------+
| col1 | col2 |
+------+-----------------+
| "A1" | {"x":1,"y":2} |
+------+-----------------+
| "A2" | {"z":3} |
+------+-----------------+
我想将数据框转换为喜欢
+------+------+------+------+
| col1 | x | y | z |
+------+------+------+------+
| "A1" | 1 | 2 | Null |
+------+------+------+------+
| "A2" | Null | Null | 3 |
+------+------+------+------+
初始数据框的模式显示
DataFrame[col1: string, col2: string]
我在 Windows 7 机器上使用 pyspark 2.3.2
【问题讨论】:
-
你只有 x,y 和 z 或者你可以有很多不同的值?你有一份详尽的价值观清单吗?
-
col2的内容是 JSON 编码为字符串数据,Spark 对此一无所知,您需要解析该列的内容 -
@Steven 我在 col2 中没有固定长度的数据,所以如果有一些新键(例如 'w')进来,我想将其添加为新列
-
你的 spark 版本是什么?
标签: python pyspark apache-spark-sql pyspark-sql parquet