始める無料で始める

ID活用のさらなるテクニック

一度Sparkの処理を定義したら、それを何度も使いたくなることが多いです。要件によっては、IDが過去の実行と重ならないように、特定の値から開始したい場合があります。これは、リレーショナルデータベースでのIDの扱いに似ています。あなたのタスクは、毎月のSparkタスクから出力されるIDが、前月の最大値から始まることを確認することです。

作業スペースには spark セッションと2つのDataFrame、voter_df_marchvoter_df_april が用意されています。pyspark.sql.functions ライブラリはエイリアス F で利用できます。

この演習はコースの一部です

PySpark でデータをクレンジングする

コースを見る

演習の手順

  • voter_df_marchROW_ID の最大値を求め、変数 previous_max_ID に保存してください。.rdd.max()[0] を使うと最大IDを取得できます。
  • voter_df_aprilROW_ID 列を追加し、previous_max_ID + 1 から始まるようにしてください。
  • 両方のデータフレームで ROW_ID を表示し、比較してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Determine the highest ROW_ID and save it in previous_max_ID
____ = ____.select('ROW_ID').rdd.max()[0] + 1

# Add a ROW_ID column to voter_df_april starting at the desired value
voter_df_april = ____.withColumn('ROW_ID', ____ + ____)

# Show the ROW_ID from both DataFrames and compare
____.select('ROW_ID').show()
____
コードを編集して実行