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 の作成
Web ブラウザー (Microsoft Edge または Google Chrome) を起動します。 現在、Data Factory の UI がサポートされる Web ブラウザーは Microsoft Edge と Google Chrome だけです。
Azure portal メニューの [リソースの作成] を選択し、 [統合] 、 [Data Factory] の順に選択します。
[Create Data Factory](データ ファクトリの作成) ページの [基本] タブで、データ ファクトリを作成する Azure サブスクリプションを選択します。
[リソース グループ] で、次の手順のいずれかを行います。
ドロップダウン リストから既存のリソース グループを選択します。
[新規作成] を選択し、新しいリソース グループの名前を入力します。
リソース グループの詳細については、 リソース グループを使用した Azure のリソースの管理に関するページを参照してください。
[リージョン] で、データ ファクトリの場所を選択します。
この一覧に表示されるのは、Data Factory でサポートされ、かつ Azure Data Factory のメタ データが格納される場所のみです。 Data Factory で使用する関連データ ストア (Azure Storage、Azure SQL Database など) やコンピューティング (Azure HDInsight など) は他のリージョンで実行できます。
[名前] に「ADFTutorialDataFactory」と入力します。
Azure データ ファクトリの名前は グローバルに一意にする必要があります。 次のエラーが発生した場合は、データ ファクトリの名前を変更します ( <yourname>ADFTutorialDataFactory などを使用)。 Data Factory アーティファクトの名前付け規則については、Data Factory の名前付け規則に関する記事を参照してください。
[バージョン] で、 [V2] を選択します。
Next:Git configuration(次へ: Git の構成) を選択し、Configure Git later(後で Git を構成する) チェック ボックスをオンにします。
[確認と作成] を選択し、検証に成功したら [作成] を選択します。
作成後、 [リソースに移動] を選択して、 [Data factory] ページに移動します。 [Azure Data Factory Studio を開く] タイルを選択して、別のブラウザー タブで Azure Data Factory ユーザー インターフェイス (UI) アプリケーションを起動します。
リンクされたサービスを作成します
このセクションでは、Databricks のリンクされたサービスを作成します。 このリンクされたサービスには、Databricks クラスターへの接続情報が含まれています。
Azure Databricks のリンクされたサービスを作成する
ホーム ページの左側のパネルで [管理] タブに切り替えます。
[接続] で [リンク サービス] を選択して、 [+ 新規] を選択します。
[New linked service](新しいリンクされたサービス) ウィンドウで、[コンピューティング]>[Azure Databricks] の順に選択し、[続行] を選択します。
[新しいリンク サービス] ウィンドウで、次の手順を完了します。
[名前] に AzureDatabricks_LinkedService と入力します。
ノートブックを実行する適切な Databricks ワークスペースを選択します。
[Select cluster]\(クラスターの選択) で [New job cluster]\(新しいジョブ クラスター) を選択します。
[Databricks Workspace URL](Databricks ワークスペースの URL) では、情報が自動入力されます。
[認証の種類] については、[アクセス トークン] を選択した場合、Azure Databricks ワークスペースから生成します。 手順については、こちらを参照してください。 [マネージド サービス ID] と [ユーザー割り当てマネージド ID] については、Azure Databricks リソースの [アクセスの制御] メニューで両方の ID に共同作成者ロールを付与します。
[クラスターのバージョン] で、使用するバージョンを選択します。
このチュートリアルでは、[Cluster node type]\(クラスター ノードの種類) で、[General Purpose (HDD)]\(一般的な目的 (HDD)) カテゴリの [Standard_D3_v2] を選択します。
[ワーカー] に「2」と入力します。
[作成] を選択します
パイプラインを作成する
+ (正符号) ボタンを選択し、メニューの [パイプライン] を選択します。
パイプラインで使用されるパラメーターを作成します。 後で、このパラメーターを Databricks Notebook アクティビティに渡します。 空のパイプラインで [パラメーター] タブをクリックし、次に [+ 新規] をクリックして、"name" という名前を付けます。
[アクティビティ] ツールボックスで [Databricks] を展開します。 [アクティビティ] ツールボックスからパイプライン デザイナー画面に Notebook アクティビティをドラッグします。
下部の DatabricksNotebook アクティビティ ウィンドウのプロパティで、次の手順を完了します。
[Azure Databricks] タブに切り替えます。
[AzureDatabricks_LinkedService] (前の手順で作成したもの) を選択します。
[設定] タブに切り替えます。
参照して、Databricks のノートブックのパスを選択します。 ノートブックを作成し、ここでパスを指定しましょう。 次の手順に従って、ノートブックのパスを取得します。
Azure Databricks ワークスペースを起動します。
ワークスペースで新しいフォルダーを作成し、adftutorial という名前にします。
新しいノートブックの作成方法を示すスクリーンショット。 (Python)、adftutorial フォルダーの下で mynotebook という名前にして、 [作成] をクリックします。
新しく作成されたノートブック "mynotebook" に次のコードを追加します。
# Creating widgets for leveraging parameters, and printing the parameters dbutils.widgets.text("input", "","") y = dbutils.widgets.get("input") print ("Param -\'input':") print (y)
ここでの Notebook パスは、 /adftutorial/mynotebook です。
Data Factory UI 作成ツールに戻ります。 Notebook1 アクティビティの [設定] タブに移動します。
a. Notebook アクティビティにパラメーターを追加します。 前にパイプラインに追加したのと同じパラメーターを使用します。
b. パラメーターの名前を input にして、値を式 @pipeline().parameters.name として指定します。
パイプラインを検証するために、ツール バーの [検証] ボタンを選択します。 検証ウィンドウを閉じるには、 [閉じる] ボタンを選択します。
[すべて公開] を選択します。 Data Factory UI により、エンティティ (リンクされたサービスとパイプライン) が Azure Data Factory サービスに公開されます。
パイプラインの実行をトリガーする
ツール バーで [トリガーの追加] を選択し、 [Trigger now](今すぐトリガー) を選択します。
[パイプライン実行] ダイアログ ボックスで、name パラメーターの指定を求められます。 ここでは、パラメーターとして /path/filename を使用します。 [OK] を選択します。
パイプラインの実行を監視します
[監視] タブに切り替えます。パイプラインが実行されていることを確認します。 ノートブックが実行される Databricks ジョブ クラスターを作成するには、5 分から 8 分ほどかかります。
[最新の情報に更新] を定期的にクリックして、パイプラインの実行の状態を確認します。
パイプラインの実行に関連付けられているアクティビティの実行を表示するには、 [パイプライン名] 列の pipeline1 リンクを選択します。
[アクティビティの実行] ページで、 [アクティビティ名] 列の [出力] を選択して各アクティビティの出力を表示します。さらに詳細な Spark ログについては、 [出力] ウィンドウの Databricks ログへのリンクを参照してください。
上部の階層リンク メニューの [すべてのパイプラインの実行] リンクを選択して、[パイプラインの実行] ビューに戻ることができます。
出力を検証する
Azure Databricks ワークスペースにログオンし、 [クラスター] に移動すると、ジョブの状態 (実行の保留中、実行中、または終了) を確認できます。
ジョブ名をクリックすると、より詳しい情報が表示されます。 正常に実行されると、渡されたパラメーターと、Python ノートブックの出力を検証できます。
関連するコンテンツ
このサンプルのパイプラインでは、Databricks Notebook アクティビティをトリガーし、それにパラメーターを渡します。 以下の方法を学習しました。
データ ファクトリを作成します。
Databricks Notebook アクティビティを使用するパイプラインを作成します。
パイプラインの実行をトリガーする。
パイプラインの実行を監視します。