キャッシュの練習:パート1
次のいくつかの演習では、2つのDataFrameをキャッシュするさまざまな方法を試します。
DataFrame df1 は csv ファイルから読み込まれ、いくつかの処理ステップが実行されています。df1 は複数回利用するため、キャッシュの候補です。
2つ目の DataFrame df2 は、df1 に対してさらに計算負荷の高い処理を行って作成されます。これもキャッシュの候補です。
df2 は df1 に依存しているため、df1 をキャッシュすべきか、df2 をキャッシュすべきか、という疑問が生じます。
この演習では、まず df1 をキャッシュしてみます。各アクションにかかった時間に注目してください。次の演習でこれらを比較します。
この演習はコースの一部です
Pythonで学ぶ Spark SQL 入門
演習の手順
df1のみをキャッシュしてください。df1に対して最初のアクションを実行してから繰り返し、次にdf2に対してアクションを実行してから繰り返します。これはすでに用意されています。df1がキャッシュされているかどうかを確認してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Unpersists df1 and df2 and initializes a timer
prep(df1, df2)
# Cache df1
____
# Run actions on both dataframes
run(df1, "df1_1st")
run(df1, "df1_2nd")
run(df2, "df2_1st")
run(df2, "df2_2nd", elapsed=True)
# Prove df1 is cached
print(____)