相关疑难解决方法(0)

pyspark dataframe如果不存在则添加列

我在各种json文件中有json数据而且键的行可能不同,例如

{"a":1 , "b":"abc", "c":"abc2", "d":"abc3"}
{"a":1 , "b":"abc2", "d":"abc"}
{"a":1 ,"b":"abc", "c":"abc2", "d":"abc3"}
Run Code Online (Sandbox Code Playgroud)

我想在列'b','c','d'和'f'上聚合数据,这些数据在给定的json文件中不存在,但可能存在于其他文件中.因为列'f'不存在,我们可以为该列取空字符串.

我正在读取输入文件并聚合这样的数据

import pyspark.sql.functions as f
df =  spark.read.json(inputfile)
df2 =df.groupby("b","c","d","f").agg(f.sum(df["a"]))
Run Code Online (Sandbox Code Playgroud)

这是我想要的最终输出

{"a":2 , "b":"abc", "c":"abc2", "d":"abc3","f":"" }
{"a":1 , "b":"abc2", "c":"" ,"d":"abc","f":""}
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?提前致谢!

apache-spark apache-spark-sql pyspark pyspark-sql

8
推荐指数
2
解决办法
1万
查看次数