Azure Data Factoryのメタデータ駆動コピータスクを用いた効率的なデータ連携について

1.5K Views

November 07, 24

スライド概要

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

Microsoft Data Analytics Day(Online) 勉強会 Azure Data Factoryのメタデータ駆動コピー タスクを用いた効率的なデータ連携について 発表者: Enomoto-S 2024/11/7

2.

自己紹介 ◼ 榎本 聡(えのもと さとし) • 所属:株式会社ジール • 経歴:2022年4月 新卒入社 • 仕事:Azureデータ分析基盤構築設計(Azure Databricks, Azure Data Factory)

3.

目次 ◼ Azure Data Factory について ◼ Azure Data Factory のメリット ◼ Azure Data Factory のメタデータ駆動のコピータスクについて ◼ Azure Data Factory のメタデータ駆動のコピータスクの拡張 ◼ 今後の展望

4.

Azure Data Factory について ◼ データ加工・変換・クレンジングなどを行う ETL ツール • 各種データソースからのデータ取得やデータ連携を実現可能 • スケジュールリングしたパイプラインを監視して成功/失敗を確認することが可能 • データ利用者が容易にデータ検索や加工、エクスポートを実施するための GUI を提供 引用元:Azure Data Factory の概要 - Azure Data Factory | Microsoft Learn

5.

Azure Data Factory について ◼ 全社で利用してデータ活用を推進している事例もあり • サイロ化された多数のシステムを統合できる • データ連携にかかるリードタイムを短縮できる • (Microsoft Purviewと組み合わせることでデータガバナンスを効かせることが可能) 引用元:事例で学ぶ、 Microsoft Azure活用術 ~クラウド移行編~(199) 旭化成がグループ 1200 超のシ ステムのデータ活用を目指す! Azure Data Factory と Microsoft Purview が実現したデータマネジメン ト基盤の新たな姿とは | TECH+(テックプラス)

6.

Azure Data Factory のメリット ◼ コストパフォーマンスに優れている • 価格例:AWS S3 から Azure Storage に 1 日 8 時間のデータ移動を実施した際、 1 ヶ月当た り $122.00 (約 19,000 円) • 固定の費用もかからず、コネクターによる費用の変動も無い 引用元:価格の例: AWS S3 から Azure Blob Storage に 1 時間ごとにデータを コピーする - Azure Data Factory | Microsoft Learn

7.

Azure Data Factory のメリット ◼ 90 以上のコネクターを利用できる • 一般的に利用されている製品のコネクターはサポートされており、 ODBC や REST API を利 用できるため多くのソースからデータ取得が可能 引用元:Azure Data Factory - データ統合サービス | Microsoft Azure

8.

Azure Data Factory のメリット ◼ オンプレミス環境など異なるネットワークから安全に連携できる • エージェントを任意のサーバーにインストールしてデータ連携をできるため、オンプレミス環 境など異なるネットワーク上にあるデータを安全に連携が可能 • アウトバウンド時の IP アドレスを固定化できることからデータソースのシステムにて IP 制 限を設定した上でデータ連携が可能 引用元:自己ホスト型統合ランタイムを 作成する - Azure Data Factory & Azure Synapse | Microsoft Learn

9.

Azure Data Factory のメタデータ駆動のコピータスクについて ◼ システムからクリックのみでデータ連携を行うパイプラインを作成できる機能 • パイプラインを追加することなく、メタデータのデータ登録のみでデータ連携するオブジェク ト数の増減が可能 • 標準機能であるアクティビティを組み合わせて作られているため改修も容易 ソース リレーショナル データベース Azure Data Factory シンク クラウド ストレージ Azure Storage SaaS サービス ODBC Microsoft Fabric HTTP メタデータ SFTP Databricks ソースの 設定 最終 連携日 シンクの 設定 ・・・

10.

Azure Data Factory のメタデータ駆動のコピータスクについて ◼ システムからクリックのみでデータ連携を行うパイプラインを作成できる機能 • メタデータを保持する管理テーブルのテーブル定義と INSERT 文、及び、3つのパイプライ ンが作成される # テーブル 概要 1 Main Control Table コピーするデータオブジェクトのリストや、それぞれのコピー動作に関する情報が格納さ れる 2 Connection Control Table データストアの接続情報が格納される # パイプライン 概要 1 MetadataDrivenCopyTask_xxx_T opLevel コピーするオブジェクト(テーブルなど)の総数を計算し、最大同時コピータスク数に基 づいてシーケンシャルバッチの数を決定する。その後、異なるバッチを順次コピーするた めに MiddleLevel のパイプラインを実行する。 2 MetadataDrivenCopyTask_xxx_ MiddleLevel 各バッチ内のオブジェクトを取得し、コピータスクを実行するための準備を行う。具体的 には、各グループごとにコピーするオブジェクトを取得し、 BottomLevel のパイプライ ンに渡す。 3 MetadataDrivenCopyTask_xxx_B ottomLevel 実際のデータコピーを実行する。各オブジェクトのコピーを行い、必要に応じてウォー ターマークの更新や差分コピーの処理を行う。 引用元:データのコピー ツールでメタデータ駆動型の方法を使用して大規模なデータ コピー パイプラインを作成する - Azure Data Factory | Microsoft Learn

11.

Azure Data Factory のメタデータ駆動のコピータスクの拡張 ◼ Databricks への取り込み処理を追加 • ingest したファイルを Databricks で取り込むノートブックを作成 • メイン制御テーブルにノートブックへ引き渡すためのメタデータを追加 ⇒大量のソースデータをレイクハウスアーキテクチャに高速、かつ、効率よく取り込むことが 可能になる メタデータ駆動コピータスク ソース リレーショナル データベース クラウド ストレージ ファイルを 配置 データを 抽出 コピー アクティビティ SaaS サービス Databricks に取り込む Azure Storage Databricks ODBC メタデータ HTTP SFTP ソースの 設定 最終 連携日 シンクの 設定 書き込み先の テーブル名

12.

Azure Data Factory のメタデータ駆動のコピータスクの拡張 ◼ Excelを用いたメイン制御テーブルへのメタデータ登録 • メイン制御テーブルに登録するには json 形式の文字列を作成する必要がある • Excelに登録されている内容から json 文字列を生成する Python コードを作成 ⇒Azure Data Factory 上の GUI で作成するより開発生産性がアップ メタデータ駆動コピータスク ソース リレーショナル データベース クラウド ストレージ ファイルを 配置 データを 抽出 コピー アクティビティ SaaS サービス HTTP Databricks に取り込む Azure Storage Databricks ODBC SFTP Excel Pythonで メタデータ を登録 メタデータ ソースの 設定 最終 連携日 シンクの 設定 書き込み先の テーブル名

13.

Azure Data Factory のメタデータ駆動のコピータスクの拡張 ◼ 失敗したパイプラインのリトライ機構の追加 • メイン制御テーブルにて実行タイミングと成功可否のカラムを追加 • 成功可否カラムの値の初期化と実行タイミングカラムの更新処理および実行完了後の成功可否 カラムの更新処理の追加 ⇒失敗したパイプラインのみ再実行するような実装方法を確立 メタデータ駆動コピータスク ソース リレーショナル データベース クラウド ストレージ ファイルを 配置 データを 抽出 コピー アクティビティ SaaS サービス HTTP ODBC Databricks に取り込む Azure Storage 成功可否の初期化 実行タイミングの更新 SFTP Excel Pythonで メタデータ を登録 エラーしたオブジェクト は再実行 Databricks 成功したオブジェクトの 成功可否の更新 メタデータ ソースの 設定 最終 連携日 シンクの 設定 書き込み先の テーブル名 成功可否 実行タイミング

14.

今後の展望 ◼ Microsoft Fabric のミラーリングされた Unity Catalog (Preview機能)を使用することで、 Fabric との連携も可能になる 引用元:Databricks Unity Catalog tables available in Microsoft Fabric | Microsoft Fabric Blog | Microsoft Fabric

15.

参考記事 ◼ データのコピー ツールでメタデータ駆動型の方法を使用して大規模なデータ コピー パイプライ ンを作成する - Azure Data Factory | Microsoft Learn ◼ クラウドデータ連携を簡単かつ安全に!Azure Data Factoryのメタデータ駆動コピータスクで 効率的なデータ連携 #Databricks – Qiita ◼ Azure Data Factory メタデータ駆動のコピータスクにより ingest したファイルを Databricks で取り込む方法 #データエンジニアリング – Qiita ◼ Azure Data Factory のメタデータ駆動のコピータスクにてメタデータを Python (Databricks)環境で生成する方法 #AzureDataFactory – Qiita ◼ Azure Data Factory のメタデータ駆動のコピータスクにて実行に失敗したコピーアクティビ ティのみ実行する方法 #データエンジニアリング - Qiita