ジョブによるデータ処理と分析ワークフローの実装

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

ヒント

Databricks Asset Bundle を使用して、ジョブを定義し、プログラムで管理できます。 「Databricks アセットバンドルとは」および「Databricks アセットバンドルを使用して Databricks でジョブを開発する」を参照してください。

Databricksジョブによるデータ変換、分析、可視化

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

  1. PythonスクリプトでREST APIを使用してデータをフェッチします。

  2. Delta Live Tablesを使用して、取得したデータを取り込んで変換し、変換されたデータを Delta Lake に保存します。

  3. ジョブとDatabricks SQLの統合を使用して、変換されたデータを分析し、結果を可視化するグラフを作成します。

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

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

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

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

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

JavaやScalaなどのJVM言語で実装されたライブラリやアプリケーションは、一般的にJavaアーカイブ(JAR)ファイルにパッケージ化されます。Databricksジョブは、JARタスクタイプのJARにパッケージ化されたコードをサポートします。DatabricksジョブでJARを使用するを参照してください。

Apache Airflowによるジョブのオーケストレーション

Databricksでは、ワークフローのオーケストレーションにDatabricks Jobsを使用することを推奨しています。ただし、Apache Airflowはワークフローオーケストレーションシステムとして一般的に使用され、Databricksジョブのネイティブサポートを提供します。Databricks Jobsがワークフローを作成するためのビジュアルUIを提供するのに対して、AirflowはPythonファイルを使用してデータパイプラインを定義し、デプロイします。Airflowによるジョブの作成と実行の例については、Apache AirflowでDatabricksジョブをオーケストレーションを参照してください。