不変性と遅延処理

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

Mike Metzger

Data Engineering Consultant

変数の復習

Pythonの変数:

  • 可変
  • 柔軟
  • 併行処理で問題になり得る
  • 複雑さが増しがち
PySpark でデータをクレンジングする

不変性

不変な変数とは:

  • 関数型プログラミングの要素
  • 一度定義
  • 直接は変更不可
  • 再代入時に再作成
  • 共有が効率的
PySpark でデータをクレンジングする

不変性の例

新しいデータフレームを定義:

voter_df = spark.read.csv('voterdata.csv')

変更を適用:

voter_df = voter_df.withColumn('fullyear', 
    voter_df.year + 2000)

voter_df = voter_df.drop(voter_df.year)
PySpark でデータをクレンジングする

遅延処理

  • 遅くないのか?
  • 変換
  • アクション
  • 効率的な計画を可能にする
voter_df = voter_df.withColumn('fullyear', 
    voter_df.year + 2000)
voter_df = voter_df.drop(voter_df.year)

voter_df.count()
PySpark でデータをクレンジングする

Let's practice!

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

Preparing Video For Download...