Azure Databricks アクティビティを実行してデータを変換する
Data Factory for Microsoft Fabric の Azure Databricks アクティビティでは、次のような Azure Databricks ジョブを調整できます。
- ノートブック
- Jar
- Python
この記事では、Data Factory インターフェイスを使用して Azure Databricks アクティビティを作成するステップバイステップのチュートリアルを提供します。
前提条件
開始するには、次の前提条件を満たしている必要があります。
- アクティブなサブスクリプションが含まれるテナント アカウント。 無料でアカウントを作成できます。
- ワークスペースが作成されている。
Azure Databricks アクティビティの構成
パイプライン内で Azure Databricks アクティビティを使用するには、次の手順を実行します。
接続の構成
ワークスペースに新しいパイプラインを作成します。
パイプライン アクティビティの追加をクリックし、Azure Databricks を検索します。
または、パイプラインの [アクティビティ] ペイン内で Azure Databricks を検索し、それを選択してパイプライン キャンバスに追加することもできます。
まだ選ばれていない場合は、キャンバスで新しい Azure Databricks アクティビティを選びます。
[全般設定] タブを構成するには、全般設定のガイダンスを参照してください。
クラスターの構成
[クラスター] タブを選択します。次に、既存の Azure Databricks 接続を選択するか新規作成し、新しいジョブ クラスター、既存の対話型クラスター、または既存のインスタンス プールを選択します。
選択したクラスターに応じて、対応するフィールドに入力します。
- 新しいジョブ クラスターと既存のインスタンス プールの下に、worker の数を構成し、スポット インスタンスを有効にする機能もあります。
また、接続先のクラスターに必要な クラスター ポリシー、Spark 構成、Spark 環境変数、カスタム タグなどの追加のクラスター設定を指定することもできます。 Databricks の init スクリプトとクラスター ログの宛先パスもクラスターの追加設定で追加できます。
Note
Azure Data Factory Azure Databricks のリンクされたサービスでサポートされているすべての高度なクラスター プロパティと動的式が、UI の [追加クラスター構成] セクションの下の Microsoft Fabric の Azure Databricks アクティビティでもサポートされるようになりました。 これらのプロパティはアクティビティ UI に含まれるようになったため、Azure Data Factory Azure Databricks のリンクされたサービスで高度な JSON 仕様を必要とせずに、式 (動的コンテンツ) で簡単に使用できます。
Azure Databricks アクティビティでは、クラスター ポリシーと Unity カタログのサポートもサポートされるようになりました。
- [詳細設定] で、クラスター ポリシーを選択して、許可するクラスター構成を指定できます。
- また、[詳細設定] で、セキュリティを強化するために Unity カタログ アクセス モードを構成することもできます。 使用可能な アクセス モードの種類 は次のとおりです:
- シングル ユーザー アクセス モード このモードは、各クラスターが単独のユーザーによって使用されるシナリオ向けに設計されています。 これにより、クラスター内のデータ アクセスがそのユーザーのみに制限されます。 このモードは、分離と個々のデータ処理を必要とするタスクに役立ちます。
- 共有アクセス モード このモードでは、複数のユーザーが同じクラスターにアクセスできます。 Unity Catalog のデータ ガバナンスと、レガシ テーブルのアクセス制御リスト (ACL) を組み合わせたものになります。 このモードでは、ガバナンスとセキュリティ プロトコルを維持しながら、共同作業によるデータ アクセスが可能になります。 ただし、Databricks Runtime ML のサポート、Spark 送信ジョブ、特定の Spark API と UDF のサポートなど、特定の制限があります。
- アクセス モードなし このモードでは、Unity Catalog とのインタラクションが無効になります。つまり、クラスターは Unity Catalog によって管理されるデータにアクセスできません。 このモードは、Unity Catalog のガバナンス機能を必要としないワークロードに役立ちます。
設定の構成
[設定] タブを選択すると、調整する Azure Databricks の種類を 3 つのオプションから選択できます。
次の Azure Databricks アクティビティで Notebook の種類を調整します。
[設定] タブで [Notebook] ラジオ ボタンを選択して Notebook を実行できます。 Azure Databricks で実行するノートブック パス、ノートブックに渡す省略可能な基本パラメーター、およびジョブを実行するためにクラスターにインストールされる追加ライブラリを指定する必要があります。
次の Azure Databricks アクティビティで Jar の種類を調整します。
[設定] タブで [Jar] ラジオ ボタンを選択して Jar を実行できます。 Azure Databricks で実行するクラス名、Jar に渡す省略可能な基本パラメーター、およびジョブを実行するためにクラスターにインストールされる追加ライブラリを指定する必要があります。
次の Azure Databricks アクティビティで Python の種類を調整します。
[設定] タブで [Python] ラジオ ボタンを選択して Python ファイルを実行できます。 Azure Databricks 内で、実行する Python ファイルのパス、渡すオプションのベース パラメーター、ジョブを実行するためにクラスターにインストールする追加のライブラリを指定する必要があります。
Azure Databricks アクティビティでサポートされるライブラリ
前述の Databricks アクティビティ定義では、jar、egg、whl、maven、pypi、cran というライブラリの種類を指定できます。
ライブラリの種類の詳細については、Databricks のドキュメントを参照してください。
Azure Databricks アクティビティとパイプラインの間のパラメーターの受け渡し
Databricks アクティビティの baseParameters プロパティを使用して、パラメーターをノートブックに渡すことができます。
場合によっては、ノートブックからサービスに特定の値を戻す必要があり、サービスの制御フロー (条件チェック) のために使用したり、ダウンストリームのアクティビティで使用したりできます (サイズの上限は 2 MB)。
ノートブックでは、たとえば dbutils.notebook.exit("returnValue") を呼び出すことができ、対応する "returnValue" がサービスに返されます。
@{activity('databricks activity name').output.runOutput}
などの式を使用して、サービスで出力を使用できます。
パイプラインを保存して実行またはスケジュールする
パイプラインに必要なその他のアクティビティを構成したら、パイプライン エディターの上部にある [ホーム] タブに切り替え、[保存] ボタンを選択してパイプラインを保存します。 [実行] を選択して直接実行するか、[スケジュール] を選択してスケジュールを設定します。 ここで実行履歴を表示したり、他の設定を構成したりすることもできます。