我想从 hdfs 中的 json 文件创建一个 pyspark 数据框。
json 文件具有以下内容:
{“产品”:{“0”:“台式电脑”,“1”:“平板电脑”,“2”:“iPhone”,“3”:“笔记本电脑”},“价格”:{“0”:700 , "1": 250, "2": 800, "3": 1200 } }
然后,我使用 pyspark 2.4.4 读取此文件 df = spark.read.json("/path/file.json")
所以,我得到这样的结果:
df.show(truncate=False)
+---------------------+---------------------------------+
|Price |Product |
+---------------------+---------------------------------+
|[700, 250, 800, 1200]|[Desktop, Tablet, Iphone, Laptop]|
+---------------------+---------------------------------+
Run Code Online (Sandbox Code Playgroud)
但我想要一个具有以下结构的数据框:
+-------+--------+
|Price |Product |
+-------+--------+
|700 |Desktop |
|250 |Tablet |
|800 |Iphone |
|1200 |Laptop |
+-------+--------+
Run Code Online (Sandbox Code Playgroud)
如何使用 pyspark 获取具有先前结构的数据框?
我尝试使用爆炸,df.select(explode("Price"))但出现以下错误:
---------------------------------------------------------------------------
Py4JJavaError Traceback (most recent call last)
/usr/lib/spark/python/pyspark/sql/utils.py in deco(*a, **kw)
62 try:
---> …Run Code Online (Sandbox Code Playgroud)