DataFrame を Parquet 形式で保存する
Spark で作業するときは、最初に CSV や JSON などのデータソースを扱うことがよくあります。これらは読み込むデータの種類に柔軟性を与えますが、Spark に最適な形式ではありません。Parquet 形式は列指向のデータストアで、Spark は述語プッシュダウンを利用できます。これは、Spark がデータセット全体を読むのではなく、指定した処理を完了するために必要なデータだけを処理するということです。これにより、データへのアクセスが柔軟になり、大規模データセットではパフォーマンスが大幅に向上することが多いです。
この演習では、新しい Parquet ファイルを作成し、そのデータを処理する練習をします。
spark オブジェクトと、DataFrame の df1 と df2 はあらかじめ用意されています。
この演習はコースの一部です
PySpark でデータをクレンジングする
演習の手順
df1とdf2の行数を表示します。unionメソッドでdf1とdf2を結合し、df3という新しい DataFrame を作成します。df3をAA_DFW_ALL.parquetという名前のparquetファイルに保存します。AA_DFW_ALL.parquetファイルを読み込み、件数を表示します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# View the row count of df1 and df2
print("df1 Count: %d" % df1.____())
print("df2 Count: %d" % ____.____())
# Combine the DataFrames into one
df3 = df1.union(df2)
# Save the df3 DataFrame in Parquet format
df3.____.____('AA_DFW_ALL.parquet', mode='overwrite')
# Read the Parquet file into a new DataFrame and run a count
print(spark.read.____('AA_DFW_ALL.parquet').count())