Databricks データ加工のサンプル
使用例 例えばADFでOracleやCSVからデータを取得し、ADLS Gen2に保存した後、Databricks(PySpark)で加工します。
加工前データcustomer.csv
| customer_id | name | birthday | | ----------- | ------ | ---------- | | 1 | Tanaka | 1990/01/01 | | 2 | Suzuki | NULL |
order.csv
| customer_id | amount | | ----------- | ------ | | 1 | 1000 | | 1 | 2000 | | 2 | 500 |
Databricksで行う加工
① データクレンジング NULL値の補完や不要データ削除
② データ型変換 文字列を日付型に変換
from pyspark.sql.functions import to_date
df = df.withColumn(
"birthday",
to_date("birthday","yyyy/MM/dd")
)
③ テーブル結合(JOIN)顧客情報と注文情報を結合
result = customer.join(
order,
"customer_id",
"left"
)
④ 集計処理 顧客ごとの購入金額集計
from pyspark.sql.functions import sum
result = order.groupBy(
"customer_id"
).agg(
sum("amount").alias("total_amount")
)
⑤ 重複削除
df = df.dropDuplicates()
⑥ フィルタリング 不要データ除外
df = df.filter(df.amount > 0)