Apache Spark で始めるデータクレンジング

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

Mike Metzger

Data Engineering Consultant

データクレンジングとは

データクレンジング:データ処理パイプラインで使えるよう生データを整備します。

データクレンジングの主な作業

  • 文字列の再整形・置換
  • 計算の実行
  • ノイズや不完全なデータの除去
PySpark でデータをクレンジングする

なぜ Spark でクレンジングするか

一般的なデータ基盤の課題

  • パフォーマンス
  • データフローの整理

Spark の利点

  • スケーラブル
  • データ処理に強力なフレームワーク
PySpark でデータをクレンジングする

データクレンジングの例

生データ:

name age (years) city
Smith, John 37 Dallas
Wilson, A. 59 Chicago
null 215

整備後データ:

last name first name age (months) state
Smith John 444 TX
Wilson A. 708 IL
PySpark でデータをクレンジングする

Spark のスキーマ

  • DataFrame の形式を定義
  • 含められる型
    • 文字列、日付、整数、配列
  • 取り込み時にノイズデータを除外可能
  • 読み込み性能を向上
PySpark でデータをクレンジングする

Spark スキーマ例

スキーマをインポート

import pyspark.sql.types
peopleSchema = StructType([
  # Define the name field
  StructField('name', StringType(), True),
  # Add the age field
  StructField('age', IntegerType(), True),
  # Add the city field
  StructField('city', StringType(), True)  
])

データを含む CSV を読み込む

people_df = spark.read.format('csv').load(name='rawdata.csv', schema=peopleSchema)
PySpark でデータをクレンジングする

Passons à la pratique !

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

Preparing Video For Download...