演習 - Azure Data Factory 内でコンピューティング変換を使う

完了

場合によっては、コードの記述が不要な大規模な変換が要件を満たさないことがあります。 Azure Data Factory を使用すると、さまざまなソースから収集された生データを取り込み、Azure Databricks、Azure HDInsight のようなコンピューティング リソースを操作したり、その他のコンピューティング リソースを要件に合わせて再構築したりできます。

ADF と Azure Databricks

たとえば、Azure Databricks と ADF の統合により、ADF パイプライン内に Databricks のノートブックを追加して、Databricks の分析機能とデータ変換機能を活用することができます。 データ ワークフロー内にノートブックを追加して、さまざまなソースから ADF に読み込まれた生データを構造化し、変換することができます。 Databricks を使用してデータを変換したら、それを任意のデータ ウェアハウス ソースに読み込むことができます。

ADF と Azure Databricks の総合機能を使用したデータ インジェストと変換には、基本的に以下の手順が含まれます。

  1. Azure ストレージ アカウントを作成する - 最初の手順は、取り込んで変換したデータを保存する Azure ストレージ アカウントを作成することです。

  2. Azure データ ファクトリを作成する - ストレージ アカウントをセットアップしたら、Azure portal を使用して Azure データ ファクトリを作成する必要があります。

  3. データ ワークフロー パイプラインを作成する - ストレージと ADF の稼働開始後、まずパイプラインを作成します。その際の最初の手順は、ADF のコピー アクティビティを使用してソースからデータをコピーすることです。 コピー アクティビティを使用すると、オンプレミスおよびクラウド上のさまざまなソースからデータをコピーできます。

  4. Databricks のノートブックをパイプラインに追加する - データを ADF にコピーしたら、コピー アクティビティの後、Databricks のノートブックをパイプラインに追加します。 このノートブックには、必要に応じて生データを変換およびクリーンアップするための構文とコードが含まれている場合があります。

  5. データに対する分析を実行する - データがクリーンアップされ、必要な形式に構造化されたので、Databricks のノートブックを使用して、必要な結果を出力するためにデータをさらにトレーニングまたは分析することができます。

Azure Data Factory とは何か、Azure Databricks との統合がデータの読み込みと変換にどのように役立つかを学びました。 それでは、エンドツーエンドのサンプル データ ワークフローを作成しましょう。

Azure Databricks ノートブックと Azure Data Factory パイプラインを統合する

Azure Databricks ノートブックと Azure Data Factory パイプラインを統合するには、次のようないくつかのタスクを実行する必要があります。

  1. Databricks アクセス トークンを生成する。

  2. Databricks ノートブックを生成する

  3. リンク サービスを作成する

  4. Databricks ノートブック アクティビティを使用するパイプラインを作成する。

  5. パイプラインの実行をトリガーする。

    注意

    次の手順では、Azure Databricks クラスターが既にプロビジョニングされているものとします

タスク 1: Databricks アクセス トークンを生成する。

  1. Azure portal で [リソース グループ] をクリックし、[awrgstudxx] をクリックして、[awdbwsstudxx] をクリックします。ここで、xx は自分の名前の頭文字です。

  2. [ワークスペースの起動] をクリックします

  3. Databricks ワークスペースの左下隅にある、ユーザーの [設定] をクリックします。

  4. [ユーザー設定] をクリックします。

  5. [アクセス トークン] タブにアクセスし、[新しいトークンの生成] ボタンをクリックします。

  6. "ADF 統合" のコメントに説明を入力し、有効期間を 10 日に設定して、[生成] をクリックします

  7. 生成されたトークンをコピーしてメモ帳に保存し、[完了] をクリックします。

タスク 2: Databricks ノートブックを生成する

  1. 画面の左側で [ワークスペース] アイコンをクリックし、"ワークスペース" という語の横にある矢印をクリックして、[作成] をクリックします。次に、[フォルダー] をクリックします。 フォルダーに adftutorial という名前を指定し、[フォルダーの作成] をクリックします。 ワークスペースに adftutorial フォルダーが表示されます。

  2. adftutorial の横にあるドロップダウン矢印をクリックし、[作成] をクリックして、[ノートブック] をクリックします。

  3. [ノートブックの作成] ダイアログ ボックスで mynotebook の名前を入力し、言語が Python であることを確認して、[作成] をクリックします。 mynotebook というタイトルのノートブックが表示されます

  4. 新しく作成されたノートブック "mynotebook" に次のコードを追加します。

    # Creating widgets for leveraging parameters, and printing the parameters
    
    dbutils.widgets.text("input", "","")
    dbutils.widgets.get("input")
    y = getArgument("input")
    print ("Param -\'input':")
    print (y)
    

    注意

    ノートブックのパスは /adftutorial/mynotebook です

タスク 3: リンク サービスを作成する

  1. Microsoft Edge で、Azure portal のポータルのタブをクリックし、Azure Data Factory に戻って、[Azure Data Factory Studio を開く] をクリックします。

  2. 画面の左側で、[管理] アイコンをクリックします。

  3. [接続] の下で、[リンクされたサービス] をクリックします。

  4. 画面の上部にある [リンクされたサービス][+ 新規] をクリックします。

  5. [コンピューティング] タブで、[Azure Databricks] をクリックして、[続行] をクリックします。

  6. [New Linked Service (Azure Databricks)](新しいリンク サービス (Azure Databricks)) 画面で、次の詳細を入力し、[完了] をクリックします

    • [名前]: xx_dbls。ここで、xx は自分のイニシャルです
    • [Databricks ワークスペース]: awdbwsstudxx。ここで、xx は自分のイニシャルです
    • [クラスターの選択]: 既存のものを使用します
    • [Domain/ Region](ドメイン/リージョン): 値を設定する必要があります
    • [アクセス トークン]: メモ帳からアクセス トークンをコピーし、このフィールドに貼り付けます
    • [Choose from existing cluster](既存のクラスターから選択): awdbclstudxx。ここで、xx は自分のイニシャルです
    • 他のオプションは既定の設定のままにします

    Note

    [完了] をクリックすると、xx_dbls が作成された [作成と監視] 画面に戻り、前の演習で作成した他のリンク サービスが表示されます。

タスク 4: Databricks ノートブック アクティビティを使用するパイプラインを作成する。

  1. 画面の左側の [作成] アイコンをクリックし、[パイプライン] をクリックします。 パイプライン デザイナーのタブが開きます。

  2. パイプライン デザイナーの下部にあるパラメーター タブをクリックし、[+ 新規] をクリックします

  3. パラメーターを作成します。名前は name、種類は文字列にします

  4. [アクティビティ] メニューの [Databricks] を展開します。

  5. [ノートブック] をクリックしてキャンバスにドラッグします。

  6. [Notebook1] ウィンドウの下部のプロパティで、以下の手順を実行します。

    • [Azure Databricks] タブに切り替えます。

    • 前の手順で作成した xx_dbls を選択します。

    • [設定] タブに切り替えて、ノートブックのパスに /adftutorial/mynotebook を付加します。

    • [Base Parameters](基本パラメーター) を展開し、[+ 新規] をクリックします

    • パラメーターを作成します。名前を input、値を @pipeline().parameters.name にします

  7. [Notebook1] で、[テンプレートとして保存] ボタンの横にある [検証] をクリックします。 画面の右側にウィンドウが表示され、"Your Pipeline has been validated. (パイプラインが検証されました。) エラーは見つかりませんでした。" >> をクリックしてウィンドウを閉じます。

  8. [Publish All](すべて発行) をクリックして、リンク サービスとパイプラインを発行します。

    注意

    デプロイが成功したことを知らせるメッセージが表示されます。

タスク 5: パイプラインの実行をトリガーする

  1. [Notebook1][トリガーの追加] をクリックし、[デバッグ] ボタンの横にある [Trigger Now](今すぐトリガー) をクリックします。

  2. [Pipeline Run](パイプラインの実行) ダイアログ ボックスで、name パラメーターの指定が求められます。 ここでは、パラメーターとして /path/filename を使用します。 [完了] をクリックします。 キャンバスで Notebook1 アクティビティの上に赤い円が表示されます。

タスク 6: パイプラインを監視する

  1. 画面の左側で、[監視] タブをクリックします。パイプライン実行が表示されることを確認します。 ノートブックが実行される Databricks ジョブ クラスターを作成するには、5 分から 8 分ほどかかります。

  2. [最新の情報に更新] を定期的にクリックして、パイプラインの実行の状態を確認します。

  3. パイプラインの実行に関連付けられているアクティビティの実行を表示するために、 [アクション] 列の [View Activity Runs](アクティビティの実行の表示) を選択します。

タスク 7: 出力を確認する

  1. Microsoft Edge で、[mynotebook - Databricks] タブをクリックします

  2. Azure Databricks ワークスペースで [クラスター] をクリックすると、ジョブの状態 (実行の保留中、実行中、または終了) を確認できます。

  3. クラスター awdbclstudxx をクリックし、[イベント ログ] をクリックして、アクティビティを表示します。

    注意

    [開始] のイベントの種類と、パイプライン実行をトリガーした時刻が表示されるはずです。