2
存在しない場合、私はさまざまなJSONファイルにJSONデータを持っているとキーが例えばpysparkのデータフレームは、私が列「B」上のデータをaggreagateしたいことが
{"a":1 , "b":"abc", "c":"abc2", "d":"abc3"}
{"a":1 , "b":"abc2", "d":"abc"}
{"a":1 ,"b":"abc", "c":"abc2", "d":"abc3"}
のために、ラインに異なる可能性がある列を追加します、 'c'、 'd'、 'f'は、指定されたjsonファイルには存在しませんが、他のファイルに存在する可能性があります。列 'f'が存在しないので、その列に対して空の文字列を取ることができます。
私はこれは私が
{"a":2 , "b":"abc", "c":"abc2", "d":"abc3","f":"" }
{"a":1 , "b":"abc2", "c":"" ,"d":"abc","f":""}
たい最終的な出力である入力ファイルを読み取り、この
import pyspark.sql.functions as f
df = spark.read.json(inputfile)
df2 =df.groupby("b","c","d","f").agg(f.sum(df["a"]))
のようなデータを集約しています誰が助けてくださいことはできますか?前もって感謝します!
はそれはとても簡単です、ありがとうございます。ドキュメントをもう一度見直す必要があると思います。 – gashu
@マリウス私は2つのデータフレームを持っています。私はそのスキーマを比較し、1つのデータフレームには3つの列がありません。私はリストとしてこれを持っています。 これらの列が欠落しているデータフレームにこれらの列を追加します。値がnullの場合。どのようにしてそれをシングルショットで行うことができますか? – User12345
@Virureddyはそれぞれの欠落した列に対して 'df = df.withColumn(col_name、lit(None).cast(col_datatype))'を実行します。 – Mariusz