Azure Data Factory で Databricks Notebook アクティビティを使用して Databricks Notebook を実行する

適用対象: Azure Data Factory Azure Synapse Analytics

ヒント

企業向けのオールインワン分析ソリューション、Microsoft Fabric の Data Factory をお試しください。 Microsoft Fabric は、データ移動からデータ サイエンス、リアルタイム分析、ビジネス インテリジェンス、レポートまで、あらゆるものをカバーしています。 無料で新しい試用版を開始する方法について説明します。

このチュートリアルでは、Azure Portal を使用して、Databricks ジョブ クラスターに対して Databricks Notebook を実行する Azure Data Factory パイプラインを作成します。 また、Databricks Notebook の実行中に、Azure Data Factory パラメーターを渡します。

このチュートリアルでは、以下の手順を実行します。

  • データ ファクトリを作成します。

  • Databricks Notebook アクティビティを使用するパイプラインを作成します。

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

  • パイプラインの実行を監視します。

Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。

この機能の概要とデモンストレーションについては、以下の 11 分間の動画を視聴してください。

前提条件

  • Azure Databricks ワークスペースDatabricks ワークスペースを作成するか、既存のワークスペースを使用します。 Azure Databricks ワークスペースに、Python ノートブックを作成します。 その後、Azure Data Factory を使用してノートブックを実行し、パラメーターを渡します。

Data Factory の作成

  1. Web ブラウザー (Microsoft Edge または Google Chrome) を起動します。 現在、Data Factory の UI がサポートされる Web ブラウザーは Microsoft Edge と Google Chrome だけです。

  2. Azure portal メニューの [リソースの作成] を選択し、 [統合][Data Factory] の順に選択します。

    Screenshot showing Data Factory selection in the New pane.

  3. [Create Data Factory](データ ファクトリの作成) ページの [基本] タブで、データ ファクトリを作成する Azure サブスクリプションを選択します。

  4. [リソース グループ] で、次の手順のいずれかを行います。

    1. ドロップダウン リストから既存のリソース グループを選択します。

    2. [新規作成] を選択し、新しいリソース グループの名前を入力します。

    リソース グループの詳細については、 リソース グループを使用した Azure のリソースの管理に関するページを参照してください。

  5. [リージョン] で、データ ファクトリの場所を選択します。

    この一覧に表示されるのは、Data Factory でサポートされ、かつ Azure Data Factory のメタ データが格納される場所のみです。 Data Factory で使用する関連データ ストア (Azure Storage、Azure SQL Database など) やコンピューティング (Azure HDInsight など) は他のリージョンで実行できます。

  6. [名前] に「ADFTutorialDataFactory」と入力します。

    Azure データ ファクトリの名前は グローバルに一意にする必要があります。 次のエラーが発生した場合は、データ ファクトリの名前を変更します ( <yourname>ADFTutorialDataFactory などを使用)。 Data Factory アーティファクトの名前付け規則については、Data Factory の名前付け規則に関する記事を参照してください。

    Screenshot showing the Error when a name is not available.

  7. [バージョン] で、 [V2] を選択します。

  8. Next:Git configuration(次へ: Git の構成) を選択し、Configure Git later(後で Git を構成する) チェック ボックスをオンにします。

  9. [確認と作成] を選択し、検証に成功したら [作成] を選択します。

  10. 作成後、 [リソースに移動] を選択して、 [Data factory] ページに移動します。 [Azure Data Factory Studio を開く] タイルを選択して、別のブラウザー タブで Azure Data Factory ユーザー インターフェイス (UI) アプリケーションを起動します。

    Screenshot showing the home page for the Azure Data Factory, with the Open Azure Data Factory Studio tile.

リンクされたサービスを作成します

このセクションでは、Databricks のリンクされたサービスを作成します。 このリンクされたサービスには、Databricks クラスターへの接続情報が含まれています。

Azure Databricks のリンクされたサービスを作成する

  1. ホーム ページの左側のパネルで [管理] タブに切り替えます。

    Screenshot showing the Manage tab.

  2. [接続][リンク サービス] を選択して、 [+ 新規] を選択します。

    Screenshot showing how to create a new connection.

  3. [New linked service](新しいリンクされたサービス) ウィンドウで、[コンピューティング]>[Azure Databricks] の順に選択し、[続行] を選択します。

    Screenshot showing how to specify a Databricks linked service.

  4. [新しいリンク サービス] ウィンドウで、次の手順を完了します。

    1. [名前]AzureDatabricks_LinkedService と入力します。

    2. ノートブックを実行する適切な Databricks ワークスペースを選択します。

    3. [Select cluster]\(クラスターの選択)[New job cluster]\(新しいジョブ クラスター) を選択します。

    4. [Databricks Workspace URL](Databricks ワークスペースの URL) では、情報が自動入力されます。

    5. [認証の種類] については、[アクセス トークン] を選択した場合、Azure Databricks ワークスペースから生成します。 手順については、こちらを参照してください。 [マネージド サービス ID][ユーザー割り当てマネージド ID] については、Azure Databricks リソースの [アクセスの制御] メニューで両方の ID に共同作成者ロールを付与します。

    6. [クラスターのバージョン] で、使用するバージョンを選択します。

    7. このチュートリアルでは、[Cluster node type]\(クラスター ノードの種類) で、[General Purpose (HDD)]\(一般的な目的 (HDD)) カテゴリの [Standard_D3_v2] を選択します。

    8. [ワーカー] に「2」と入力します。

    9. [作成] を選択します

      Screenshot showing the configuration of the new Azure Databricks linked service.

パイプラインを作成する

  1. + (正符号) ボタンを選択し、メニューの [パイプライン] を選択します。

    Screenshot showing buttons for creating a new pipeline.

  2. パイプラインで使用されるパラメーターを作成します。 後で、このパラメーターを Databricks Notebook アクティビティに渡します。 空のパイプラインで [パラメーター] タブをクリックし、次に [+ 新規] をクリックして、"name" という名前を付けます。

    Screenshot showing how to create a new parameter.

    Screenshot showing how to create the name parameter.

  3. [アクティビティ] ツールボックスで [Databricks] を展開します。 [アクティビティ] ツールボックスからパイプライン デザイナー画面に Notebook アクティビティをドラッグします。

    Screenshot showing how to drag the notebook to the designer surface.

  4. 下部の DatabricksNotebook アクティビティ ウィンドウのプロパティで、次の手順を完了します。

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

    2. [AzureDatabricks_LinkedService] (前の手順で作成したもの) を選択します。

    3. [設定] タブに切り替えます。

    4. 参照して、Databricks のノートブックのパスを選択します。 ノートブックを作成し、ここでパスを指定しましょう。 次の手順に従って、ノートブックのパスを取得します。

      1. Azure Databricks ワークスペースを起動します。

      2. ワークスペースで新しいフォルダーを作成し、adftutorial という名前にします。

        Screenshot showing how to create a new folder.

      3. 新しいノートブックの作成方法を示すスクリーンショット。 (Python)、adftutorial フォルダーの下で mynotebook という名前にして、 [作成] をクリックします。

        Screenshot showing how to create a new notebook.

        Screenshot showing how to set the properties of the new notebook.

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

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

        Screenshot showing how to create widgets for parameters.

      5. ここでの Notebook パスは、 /adftutorial/mynotebook です。

  5. Data Factory UI 作成ツールに戻ります。 Notebook1 アクティビティの [設定] タブに移動します。

    a. Notebook アクティビティにパラメーターを追加します。 前にパイプラインに追加したのと同じパラメーターを使用します。

    Screenshot showing how to add a parameter.

    b. パラメーターの名前を input にして、値を式 @pipeline().parameters.name として指定します。

  6. パイプラインを検証するために、ツール バーの [検証] ボタンを選択します。 検証ウィンドウを閉じるには、 [閉じる] ボタンを選択します。

    Screenshot showing how to validate the pipeline.

  7. [すべて公開] を選択します。 Data Factory UI により、エンティティ (リンクされたサービスとパイプライン) が Azure Data Factory サービスに公開されます。

    Screenshot showing how to publish the new data factory entities.

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

ツール バーで [トリガーの追加] を選択し、 [Trigger now](今すぐトリガー) を選択します。

Screenshot showing how to select the 'Trigger now' command.

[パイプライン実行] ダイアログ ボックスで、name パラメーターの指定を求められます。 ここでは、パラメーターとして /path/filename を使用します。 [OK] を選択します。

Screenshot showing how to provide a value for the name parameters.

パイプラインの実行を監視します

  1. [監視] タブに切り替えます。パイプラインが実行されていることを確認します。 ノートブックが実行される Databricks ジョブ クラスターを作成するには、5 分から 8 分ほどかかります。

    Screenshot showing how to monitor the pipeline.

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

  3. パイプラインの実行に関連付けられているアクティビティの実行を表示するには、 [パイプライン名] 列の pipeline1 リンクを選択します。

  4. [アクティビティの実行] ページで、 [アクティビティ名] 列の [出力] を選択して各アクティビティの出力を表示します。さらに詳細な Spark ログについては、 [出力] ウィンドウの Databricks ログへのリンクを参照してください。

  5. 上部の階層リンク メニューの [すべてのパイプラインの実行] リンクを選択して、[パイプラインの実行] ビューに戻ることができます。

出力を検証する

Azure Databricks ワークスペースにログオンし、 [クラスター] に移動すると、ジョブの状態 (実行の保留中、実行中、または終了) を確認できます。

Screenshot showing how to view the job cluster and the job.

ジョブ名をクリックすると、より詳しい情報が表示されます。 正常に実行されると、渡されたパラメーターと、Python ノートブックの出力を検証できます。

Screenshot showing how to view the run details and output.

このサンプルのパイプラインでは、Databricks Notebook アクティビティをトリガーし、それにパラメーターを渡します。 以下の方法を学習しました。

  • データ ファクトリを作成します。

  • Databricks Notebook アクティビティを使用するパイプラインを作成します。

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

  • パイプラインの実行を監視します。