ジョブを使用してデータ処理と分析のワークフローを実装する

Azure Databricks ジョブを使用し、Databricks プラットフォームでのデータ処理、機械学習、またはデータ分析のパイプラインを調整できます。 Azure Databricks ジョブでは、ノートブック、スクリプト、Delta Live Tables パイプライン、Databricks SQL クエリ、dbt プロジェクトなど、多くのワークロードの種類がサポートされています。 以下の記事では、Azure Databricks ジョブの機能とオプションを使用してデータ パイプラインを実装する方法が説明されています。

Azure Databricks ジョブを使用してデータを変換、分析、視覚化する

ジョブを使って、データの取り込み、変換、分析、視覚化を行うデータ パイプラインを作成できます。 「Azure Databricks ジョブで Databricks SQL を使用する」の例では、次のことを行うパイプラインを構築します。

  1. Python スクリプトを使い、REST API を使ってデータをフェッチします。
  2. Delta Live Tables を使って、フェッチされたデータを取り込んで変換し、変換されたデータを Delta Lake に保存します。
  3. ジョブと Databricks SQL の統合を使って、変換されたデータを分析し、グラフを作成して結果を視覚化します。

ジョブで dbt 変換を使用する

dbt コア プロジェクトでデータの変換を行っていて、そのプロジェクトを Azure Databricks ジョブに統合したい場合、または新しい dbt 変換を作成し、ジョブでそれらの変換を実行したい場合は、dbt タスクの種類を使います。 Azure Databricks ジョブでの dbt 変換の使用に関するぺージを参照してください。

ジョブで Python パッケージを使用する

Python ホイール ファイルは、Python アプリケーションの実行に必要なファイルをパッケージ化して配布するための標準的な方法です。 Python wheel タスクの種類を使うと、Python wheel ファイルとしてパッケージ化された Python コードを使うジョブを簡単に作成できます。 「Azure Databricks ジョブで Python ホイール ファイルを使用する」を参照してください。

JAR にパッケージ化されたコードを使用する

Java や Scala などの JVM 言語で実装されたライブラリとアプリケーションは、通常、Java アーカイブ (JAR) ファイルにパッケージ化されます。 Azure Databricks ジョブは、JAR にパッケージ化されたコードを、JAR タスクの種類でサポートします。 「Azure Databricks ジョブで JAR を使用する」をご覧ください。

中央リポジトリに保持されているノートブックまたは Python コードを使用する

運用成果物のバージョン コントロールとコラボレーションを管理する一般的な方法は、GitHub などの中央リポジトリを使うことです。 Azure Databricks ジョブでは、GitHub や Databricks Git フォルダーなどのリポジトリからインポートされたノートブックまたは Python コードを使ったジョブの作成と実行がサポートされています。 「Azure Databricks ジョブにおけるバージョン管理されたソース コードの使用」を参照してください。

Apache Airflow でジョブのオーケストレーションを行う

Databricks では、Azure Databricks ジョブを使ってワークフローのオーケストレーションを行うことが推奨されています。 ただし、Apache Airflow はワークフロー オーケストレーション システムとしてよく使われており、Azure Databricks ジョブのネイティブ サポートを提供します。 Azure Databricks ジョブはワークフローを作成するための視覚的な UI を備えているのに対し、Airflow では Python ファイルを使ってデータ パイプラインの定義とデプロイを行います。 Airflow を使用したジョブの作成と実行の例については、「Apache Airflow を使用して Azure Databricks ジョブを調整する」をご覧ください。

サービス プリンシパルを使用してジョブを実行する

Microsoft Entra ID (旧称 Azure Active Directory) アプリケーションとサービス プリンシパルを使うことで、"サービス アカウント" としてジョブを実行できます。 個々のユーザーではなくサービス アカウントとしてジョブを実行することで、ジョブへのアクセスを制御し、ジョブに必要なアクセス許可を確保し、ジョブ所有者がワークスペースから削除された場合の問題を防ぐことができます。 Azure Databricks ジョブを実行するサービス プリンシパルの作成と使用のチュートリアルについては、「Microsoft Entra ID サービス プリンシパルを使ってジョブを実行する」を参照してください。