ファイル取り込みのパフォーマンス
大量のデータを Spark の DataFrame に取り込むよう依頼されました。ファイルを分割して取り込むことで速度に差が出るかをテストしたいと考えています。
利用できるファイルは 2 種類あります。departures_full.txt.gz と、xxx が 000 から 013 の departures_xxx.txt.gz です。各ファイルには、同じ行数が均等に分割されています。
この演習はコースの一部です
PySpark でデータをクレンジングする
演習の手順
departures_full.txt.gzとdepartures_xxx.txt.gzを、それぞれ別の DataFrame に取り込みます。- 各 DataFrame に対して count を実行し、実行時間を比較します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Import the full and split files into DataFrames
full_df = spark.read.csv('____')
split_df = ____(____)
# Print the count and run time for each DataFrame
start_time_a = time.time()
print("Total rows in full DataFrame:\t%d" % ____)
print("Time to run: %f" % (time.time() - start_time_a))
start_time_b = time.time()
print("Total rows in split DataFrame:\t%d" % ____)
print("Time to run: %f" % (time.time() - start_time_b))