我想将这个json转换为pyspark dataframe,我已经添加了我的当前代码。
json = {
"key1": 0.75,
"values":[
{
"id": 2313,
"val1": 350,
"val2": 6000
},
{
"id": 2477,
"val1": 340,
"val2": 6500
}
]
}
我的代码: 使用我的代码可以得到预期的输出。希望有人能够改进它。
import json
from pyspark.sql import SparkSession
spark = SparkSession.builder.appName("CreateDataFrame").getOrCreate()
json_string = json.dumps({
"key1": 0.75,
"values":[
{
"id": 2313,
"val1": 350,
"val2": 6000
},
{
"id": 2477,
"val1": 340,
"val2": 6500
}
]
})
df = spark.read.json(spark.sparkContext.parallelize([json_string]))
df = df.select("key1", "values.id", "values.val1", "values.val2")
df.show()
输出
+----+-------------+-------------+-------------+
|key1| id| val1| val2|
+----+-------------+-------------+-------------+
|0.75| [2313, 2477]| [350, 340]| [6000, 6500]|
+----+-------------+-------------+-------------+
帮忙感激得到期望的输出。
期望的输出:
+----+----+----+----+
|key1| id|val1|val2|
+----+----+----+----+
|0.75|2313| 350|6000|
|0.75|2477| 340|6500|
+----+----+----+----+