💽

【Azure】Azure Data Factory(ADF)について

に公開

はじめに

業務で Azure Data Factoryを触ることがあるので、事前に学習するべく本記事を作成しています。(誤記等あればご指摘頂けましたら幸いです)

Azure Data Factoryの主な特徴

Azure Data Factory(ADF)は、Microsoft Azureが提供するクラウドベースのデータ統合サービスです。データの収集、変換、保存を自動化し、さまざまなデータソースから情報を統合することができます。

  1. コード不要の操作
    ADFは、視覚的なインターフェースを提供しており、プログラミングの知識がなくてもデータの処理フロー(パイプライン)を作成できます。

  2. 多様なデータソースとの連携
    90以上のデータソースに対応しており、オンプレミスやクラウド上のデータベース、ファイルストレージ、SaaSアプリケーションなどと接続可能です。

  3. ETL/ELTプロセスの自動化
    データの抽出(Extract)、変換(Transform)、読み込み(Load)を自動化し、効率的なデータ処理を実現します。

  4. スケーラビリティと柔軟性
    クラウドベースのサービスであるため、データ量や処理負荷に応じてリソースを柔軟に調整できます。

基本的な構成要素

  • パイプライン: データ処理の流れを定義するコンテナで、複数のアクティビティを組み合わせて処理を構築します。

  • アクティビティ: データのコピー、変換、実行など、具体的な処理を行う単位です。

  • データセット: データの構造や場所を定義し、アクティビティが操作する対象を指定します。

  • リンクサービス: データソースや宛先への接続情報を管理します。

  • 統合ランタイム(Integration Runtime): データの移動や変換を実行するコンピューティングリソースです。

具体的な活用例

  • データの統合: 複数のシステムやサービスからデータを収集し、一元的に管理・分析できる形に整えます。

  • 定期的なデータ処理: 日次や週次など、定期的なデータの更新や処理を自動化します。

  • データの変換とクレンジング: 分析に適した形式にデータを変換し、不要な情報を除去します。

チュートリアル

以下のチュートリアルを実施しました。
データのコピー ツールを使用して Azure Blob Storage から SQL データベースにデータをコピーする

SQL DBの準備

  • SQL DBの作成
  • SQL DBに必要なSQL DB Serverの作成(ログイン情報はメモる必要あり)
  • 「Azure サービスおよびリソースにこのサーバーへのアクセスを許可する」を「はい」にします。
  • クエリエディターにログイン(赤枠のログイン情報はSQL DB作成時にメモる必要あり)
  • クエリ(チュートリアルサイトに記載あり)実行

ストレージアカウントのBlobの準備

  • ストレージアカウントの作成
  • コンテナーの追加
  • アップロード

Azure Data Factoryの準備

  • Azure Data Factoryの作成
  • 「取り込み」を選択
  • データのコピー ツールの [プロパティ] ページで、 [タスクの種類] に [組み込みコピー タスク] を選択して、 [次へ] を選択します。
  • a. [+ 新しい接続の作成] を選択して、接続を追加します。
  • b. ギャラリーから [Azure Blob Storage] を選択し、 [続行] を選択します。
  • c. [新しい接続 (Azure Blob Storage)] ページで、 [Azure サブスクリプション] の一覧から Azure サブスクリプションを選択し、 [ストレージ アカウント名] の一覧からストレージ アカウントを選択します。 接続をテストし、 [作成] を選択します。
  • d. [接続] ブロックで、新しく作成したリンク サービスをソースとして選択します。
  • e. [ファイルまたはフォルダー] セクションで [参照] を選択して、adfv2tutorial フォルダーに移動します。inputEmp.txt ファイルを選択し、 [OK] を選択します。
  • [File format settings](ファイル形式設定) ページで、 [First row as header](先頭の行をヘッダーにする) のチェック ボックスをオンにします。
  • [ターゲット データ ストア] ページで、次の手順を実行します。
    a. [+ 新しい接続の作成] を選択して、接続を追加します。
    b. ギャラリーで [Azure SQL Database] を選択し、 [続行] を選択します。
    c. [New connection (Azure SQL Database)](新しい接続 (Azure SQL Database)) ページで、ドロップダウン リストから Azure サブスクリプション、サーバー名、データベース名を選択します。 次に、 [認証タイプ] で [SQL 認証] を選択し、ユーザー名とパスワードを指定します。 接続をテストし、 [作成] を選択します。※以下は作成後の画面
  • [列マッピング] ページで、入力ファイルの 2 番目と 3 番目の列が emp テーブルの FirstName 列と LastName 列にマップされていることがわかります。 マッピングを調整して、エラーがないことを確認し、 [次へ] を選択します。
  • [設定] ページの [タスク名] に「CopyFromBlobToSqlPipeline」と入力し、 [次へ] を選択します。
  • [Deployment](デプロイ) ページで [監視] を選択してパイプライン (タスク) を監視します。
  • SQL データベースの dbo.emp テーブルにデータが挿入されたことを確認します。

Discussion