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)

 

IT

Posted by arkgame