【いーてぃーえる】

ETL とは?

💡 データを「抽出→変換→格納」する統合パイプライン
📌 このページのポイント
ETL プロセスフロー Extract (抽出) RDB CSV/Excel API ログ 様々なデータソース Transform (変換・加工) ・データクレンジング ・フォーマット統一 ・集計・結合 ・フィルタリング 分析に適した形に整形 Load (格納) データウェアハウス データレイク 分析基盤に蓄積 生データ → きれいなデータ → 分析可能な状態に
ETLプロセスフローのイメージ
ひよこ ひよこ

具体的にどんな場面で使う?

ペンギン先生 ペンギン先生

例えば「営業DB、顧客管理DB、Webアクセスログを統合して経営ダッシュボードを作りたい」場合。各データソースからデータを抽出し、日付形式の統一や重複排除などの変換をして、BigQueryやRedshiftに格納する。分析に使えるきれいなデータを準備するプロセスETLだよ

ひよこ ひよこ

ELTとの違いは?

ペンギン先生 ペンギン先生

ETLは格納前にデータを変換する。ELTは生データをまず格納して、データウェアハウスの計算能力で変換する。BigQuerySnowflakeのような高性能DWHが登場して、DWH内でSQLで変換した方が効率的になった。dbtELTのTransform部分をSQLで記述する人気ツール。最近はELTが主流になりつつあるよ

ひよこ ひよこ

ETLツールは何がある?

ペンギン先生 ペンギン先生

Apache AirflowPythonでパイプラインを定義、デファクトスタンダード)、②FivetranSaaS型、コネクタが豊富で設定だけでETL)、③dbtSQLベースのTransform特化ツール)、④Airbyte(OSSのELツール)、⑤AWS Glue(AWSマネージドETL)。Fivetran+dbt+Snowflakeがモダンデータスタックとして人気だよ

ひよこ ひよこ

ETLが失敗するとどうなる?

ペンギン先生 ペンギン先生

ダッシュボードのデータが古いまま、分析結果が不正確、ビジネス判断を誤る…と影響が大きい。対策は①冪等性(同じETLを再実行しても結果が同じ)を確保、②データ品質チェック(Great Expectations等)をパイプラインに組み込む、③障害時のアラートと自動リトライ、④データリネージ(どのデータがどこから来たか)を追跡可能にすることだよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
ETL」って出てきたら「データを抽出・変換・格納するデータ統合プロセス」と思えればだいたいOK!
📖 おまけ:英語の意味
「Extract, Transform, Load」 = 抽出、変換、格納
💬 Extract(抽出)→Transform(変換)→Load(格納)の頭文字だよ
← 用語集にもどる