Azure Databricks でのデータ変換とは
データ変換は、データを使用可能な形式に変換、クレンジング、および構造化するプロセスです。 データ変換は通常、Databricks medallion アーキテクチャに従います。、生データからビジネスで使用できる形式にデータを段階的に絞り込みます。
次の図は、この例で顧客名のない顧客データを削除することによって、raw_customers
データセットを clean_customers
データセットに変換する一連のデータ変換を含むデータ パイプラインを示しています。
raw_transactions
データは、0 ドルの値を持つトランザクションを削除することで、clean_transactions
に変換されます。
sales_report
と呼ばれる結果のデータセットは、clean_customers
と clean_transactions
を結合することです。 アナリストは、分析とビジネス インテリジェンスに sales_report
を使用できます。
データ変換の種類
Databricks では、宣言型の と手続き型 という 2 種類のデータ変換が考慮されます。 前の例のデータ パイプラインは、いずれかのパラダイムを使用して表すことができます。
宣言型変換では、それを実現する方法ではなく、目的の結果に焦点を当てます。 上位レベルの抽象化を使用して変換のロジックを指定すると、DLT によって最も効率的な実行方法が決定されます。
手続き型データ変換は、明示的な命令による計算の実行に重点を置くものです。 これらの計算は、データを操作する操作の正確なシーケンスを定義します。 手続き型のアプローチでは、実行をより詳細に制御できますが、複雑さとメンテナンスが増えます。
宣言型と手続き型のデータ変換の選択
DLT を使用した宣言型データ変換は、次の場合に最適です。
- 迅速な開発とデプロイが必要です。
- データ パイプラインには、実行を低レベルで制御する必要のない標準パターンがあります。
- 組み込みのデータ品質チェックが必要です。
- メンテナンスと読みやすさが最優先事項です。
Apache Spark コードを使用した手続き型データ変換は、次の場合に最適です。
- 既存の Apache Spark コードベースを Databricks に移行しています。
- 実行をきめ細かく制御する必要があります。
-
MERGE
やforeachBatch
などの低レベルの API にアクセスする必要があります。 - Kafka テーブルまたは外部 Delta テーブルにデータを書き込む必要があります。