2
我有不同的JSON文件JSON數據它和鍵可以在不同的線路,對於如pyspark數據框中添加一列,如果不存在
{"a":1 , "b":"abc", "c":"abc2", "d":"abc3"}
{"a":1 , "b":"abc2", "d":"abc"}
{"a":1 ,"b":"abc", "c":"abc2", "d":"abc3"}
我想aggreagate在列「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"]))
這是最後的輸出我想
{"a":2 , "b":"abc", "c":"abc2", "d":"abc3","f":"" }
{"a":1 , "b":"abc2", "c":"" ,"d":"abc","f":""}
任何人都可以請幫助?提前致謝!
謝謝你,就這麼簡單。我想我需要再次閱讀文檔。 – gashu
@Mariusz我有兩個數據框。我比較了他們的模式,一個數據幀缺少3列。我有這個列表。 現在我想將這些列添加到丟失這些列的數據框。與空值。我們怎樣才能做到這一點。 – User12345
@Virureddy爲每個缺少的列執行'df = df.withColumn(col_name,lit(None).cast(col_datatype))' – Mariusz