我正在尝试从下面的数据创建嵌套的json。只有诸如segid
和val
之类的字段名称是常量,其余字段不是常量。我需要将它们放在类别列表下。能否请你帮忙。
预期输出:
[{
"seg": "1",
"Value": 10,
"Categories": {
"Bangalore": 2,
"Pune": 3
}
}]
答案 0 :(得分:0)
pyspark.sql.functions.struct
基本上可以为您提供类似的东西:
from pyspark.sql import functions as F
df.withColumn("Categories", F.struct(F.col("Bangalore"), F.col("Pune")))
将df
用作包含感兴趣的JSON的Spark DataFrame,将JSON嵌套在现有的JSON之下,您只需创建一个新的Struct即可,其中包含要嵌套的字段。
有关更多详细信息,请参见文档页面https://spark.apache.org/docs/latest/api/python/pyspark.sql.html#pyspark.sql.functions.struct