Azure Databricks アクティビティを実行してデータを変換する

Data Factory for Microsoft Fabric の Azure Databricks アクティビティでは、次のような Azure Databricks ジョブを調整できます。

  • ノートブック
  • Jar
  • Python

この記事では、Data Factory インターフェイスを使用して Azure Databricks アクティビティを作成するステップバイステップのチュートリアルを提供します。

前提条件

開始するには、次の前提条件を満たしている必要があります。

Azure Databricks アクティビティの構成

パイプライン内で Azure Databricks アクティビティを使用するには、次の手順を実行します。

接続の構成

  1. ワークスペースに新しいパイプラインを作成します。

  2. パイプライン アクティビティの追加をクリックし、Azure Databricks を検索します。

    Fabric Data Pipelines ランディング ページと Azure Databricks アクティビティが強調表示されているスクリーンショット。

  3. または、パイプラインの [アクティビティ] ペイン内で Azure Databricks を検索し、それを選択してパイプライン キャンバスに追加することもできます。

    [アクティビティ] ウィンドウと Azure Databricks アクティビティが強調表示されている Fabric UI のスクリーンショット。

  4. まだ選ばれていない場合は、キャンバスで新しい Azure Databricks アクティビティを選びます。

    Azure Databricks アクティビティの [全般] 設定タブを示すスクリーンショット。

[全般設定] タブを構成するには、全般設定のガイダンスを参照してください。

クラスターの構成

  1. [クラスター] タブを選択します。次に、既存の Azure Databricks 接続を選択するか新規作成し、新しいジョブ クラスター既存の対話型クラスター、または既存のインスタンス プールを選択します。

  2. 選択したクラスターに応じて、対応するフィールドに入力します。

    • 新しいジョブ クラスター既存のインスタンス プールの下に、worker の数を構成し、スポット インスタンスを有効にする機能もあります。
  3. また、接続先のクラスターに必要な クラスター ポリシーSpark 構成Spark 環境変数カスタム タグなどの追加のクラスター設定を指定することもできます。 Databricks の init スクリプトクラスター ログの宛先パスもクラスターの追加設定で追加できます。

    Note

    Azure Data Factory Azure Databricks のリンクされたサービスでサポートされているすべての高度なクラスター プロパティと動的式が、UI の [追加クラスター構成] セクションの下の Microsoft Fabric の Azure Databricks アクティビティでもサポートされるようになりました。 これらのプロパティはアクティビティ UI に含まれるようになったため、Azure Data Factory Azure Databricks のリンクされたサービスで高度な JSON 仕様を必要とせずに、式 (動的コンテンツ) で簡単に使用できます。

    Azure Databricks アクティビティの [クラスター設定] タブを示すスクリーンショット。

  4. Azure Databricks アクティビティでは、クラスター ポリシーと Unity カタログのサポートもサポートされるようになりました。

    • [詳細設定] で、クラスター ポリシーを選択して、許可するクラスター構成を指定できます。
    • また、[詳細設定] で、セキュリティを強化するために Unity カタログ アクセス モードを構成することもできます。 使用可能な アクセス モードの種類 は次のとおりです:
      • シングル ユーザー アクセス モード このモードは、各クラスターが単独のユーザーによって使用されるシナリオ向けに設計されています。 これにより、クラスター内のデータ アクセスがそのユーザーのみに制限されます。 このモードは、分離と個々のデータ処理を必要とするタスクに役立ちます。
      • 共有アクセス モード このモードでは、複数のユーザーが同じクラスターにアクセスできます。 Unity Catalog のデータ ガバナンスと、レガシ テーブルのアクセス制御リスト (ACL) を組み合わせたものになります。 このモードでは、ガバナンスとセキュリティ プロトコルを維持しながら、共同作業によるデータ アクセスが可能になります。 ただし、Databricks Runtime ML のサポート、Spark 送信ジョブ、特定の Spark API と UDF のサポートなど、特定の制限があります。
      • アクセス モードなし このモードでは、Unity Catalog とのインタラクションが無効になります。つまり、クラスターは Unity Catalog によって管理されるデータにアクセスできません。 このモードは、Unity Catalog のガバナンス機能を必要としないワークロードに役立ちます。

    Azure Databricks アクティビティの [クラスター設定] タブのポリシー ID と Unity カタログのサポートを示すスクリーンショット。

設定の構成

[設定] タブを選択すると、調整する Azure Databricks の種類を 3 つのオプションから選択できます。

Azure Databricks アクティビティの [設定] タブを示すスクリーンショット。

次の Azure Databricks アクティビティで Notebook の種類を調整します。

  1. [設定] タブで [Notebook] ラジオ ボタンを選択して Notebook を実行できます。 Azure Databricks で実行するノートブック パス、ノートブックに渡す省略可能な基本パラメーター、およびジョブを実行するためにクラスターにインストールされる追加ライブラリを指定する必要があります。

    Azure Databricks アクティビティの Notebooks の種類を示すスクリーンショット。

次の Azure Databricks アクティビティで Jar の種類を調整します。

  1. [設定] タブで [Jar] ラジオ ボタンを選択して Jar を実行できます。 Azure Databricks で実行するクラス名、Jar に渡す省略可能な基本パラメーター、およびジョブを実行するためにクラスターにインストールされる追加ライブラリを指定する必要があります。

    Azure Databricks アクティビティの Jar の種類を示すスクリーンショット。

次の Azure Databricks アクティビティで Python の種類を調整します。

  1. [設定] タブで [Python] ラジオ ボタンを選択して Python ファイルを実行できます。 Azure Databricks 内で、実行する Python ファイルのパス、渡すオプションのベース パラメーター、ジョブを実行するためにクラスターにインストールする追加のライブラリを指定する必要があります。

    Azure Databricks アクティビティの Python の種類を示すスクリーンショット。

Azure Databricks アクティビティでサポートされるライブラリ

前述の Databricks アクティビティ定義では、jareggwhlmavenpypicran というライブラリの種類を指定できます。

ライブラリの種類の詳細については、Databricks のドキュメントを参照してください。

Azure Databricks アクティビティとパイプラインの間のパラメーターの受け渡し

Databricks アクティビティの baseParameters プロパティを使用して、パラメーターをノートブックに渡すことができます。

場合によっては、ノートブックからサービスに特定の値を戻す必要があり、サービスの制御フロー (条件チェック) のために使用したり、ダウンストリームのアクティビティで使用したりできます (サイズの上限は 2 MB)。

  1. ノートブックでは、たとえば dbutils.notebook.exit("returnValue") を呼び出すことができ、対応する "returnValue" がサービスに返されます。

  2. @{activity('databricks activity name').output.runOutput} などの式を使用して、サービスで出力を使用できます。

Azure Databricks アクティビティで基本パラメーターを渡す方法を示すスクリーンショット。

パイプラインを保存して実行またはスケジュールする

パイプラインに必要なその他のアクティビティを構成したら、パイプライン エディターの上部にある [ホーム] タブに切り替え、[保存] ボタンを選択してパイプラインを保存します。 [実行] を選択して直接実行するか、[スケジュール] を選択してスケジュールを設定します。 ここで実行履歴を表示したり、他の設定を構成したりすることもできます。

パイプラインの保存して実行の仕方を示すスクリーンショット。

パイプラインの実行を監視する方法