メインコンテンツまでスキップ

ジョブにおけるdbtプラットフォームタスク

備考

プレビュー

この機能は パブリック プレビュー段階です。

Databricks から直接、既存の dbt プラットフォーム ジョブをオーケストレートおよび監視するために、dbt プラットフォーム タスクを使用します。dbt ジョブを選択し、トリガーし、失敗時の自動再試行オプションを設定し、実行を監視します。

dbt プラットフォームと dbt タスクの違い

ジョブでは、dbt プロジェクト向けに 2 種類のタスクタイプを提供しています。dbt プロジェクトが管理されている場所に基づいて、適切なものを選択します。

dbt プラットフォーム タスク :これを使用して、既存の dbt プラットフォーム ジョブをオーケストレーションします。dbt プラットフォーム API に接続し、そこで実行をトリガーします。モニタリングやスケジューリングなど、dbt プラットフォームのすべての利点を維持しつつ、Databricks でオーケストレーションを一元化したい場合は、これを選択します。

**dbt タスク**: これを使用して、Git のコードを使用して Databricks クラスターで dbt Core プロジェクトを実行します。実行環境を完全に制御する必要があり、Databricks 内で依存関係を完全に管理したい場合は、これを選択してください。ジョブの dbt タスクを参照してください。

要件

dbtプラットフォームタスクを使用するには、以下の前提条件を満たす必要があります:

  • ワークスペース管理者は、プレビューを有効にする必要があります。Databricks プレビューの管理を参照してください。
  • ワークスペース内の Unity Catalog メタストアに対する CREATE CONNECTION 権限が必要です。
  • dbt プラットフォームで定義済みのジョブを持つ既存の dbt プロジェクトへのアクセス。詳細については、dbt ドキュメントのdbt プラットフォームのジョブを参照してください。
  • dbtプラットフォームでサービス トークンを生成する権限。詳細については、サービス アカウント トークンを参照してください。
注記

セキュリティと運用の安定性を確保するために、 Databricksパーソナルアクセストークンではなく、サービス アカウントを生成することをお勧めします。 サービス アカウント トークンは個々のユーザーに関連付けられておらず、必要最小限の権限を提供するように簡単にスコープを設定できます。

dbt プラットフォームの詳細を収集します

dbtをDatabricksと統合するには、以下の3つの詳細が必要です。

  • dbtプラットフォームアカウントID。
  • dbtプラットフォームで生成されたAPIキー。
  • dbtプラットフォームのデプロイホストURL。

次のセクションでは、この必要な情報の検索方法について説明します。

アカウント ID を取得する

アカウント ID を取得するには:

  1. dbtプラットフォームにログインしてください。
  2. 設定 > アカウント設定 に移動します。
  3. URLサフィックスからアカウント ID を取得します。形式は次のとおりです: https://cloud.getdbt.com/settings/accounts/{account_id}

API キーを取得します

APIキーを取得するには:

  1. dbtプラットフォームにログインしてください。
  2. [設定] > [プロファイル設定] > [あなたのプロファイル] > [APIにアクセス] > [APIキー] に移動します。

ホスト URL

ホストURLは、お使いの場所とテナンシーによって異なります。お使いのリージョンのURLを見つけるには、dbtドキュメントの「アクセス、リージョン、IPアドレス」を参照してください。

リージョンとテナンシー(マルチテナントまたはセルベース)を識別します。ホスト URL を取得するには、**アクセス URL** 列を使用します。

テナンシータイプ

リージョンの例

ホストURLの例。

マルチテナント

北米

https://cloud.getdbt.com

セルベース

北米 (us-east-1)

https://12345.us1.dbt.com12345 をアカウント ID として使用)

テナンシータイプ

リージョンの例

ホストURLの例。

マルチテナント

北米

https://cloud.getdbt.com

セルベース

北米 (us-east-1)

https://12345.us1.dbt.com12345 をアカウント ID として使用)

dbt プラットフォーム接続セットアップ

Databricksでdbtプラットフォーム接続を設定するには、以下のステップを使用してください。

  1. サイドバーの データアイコン。 カタログ をクリックします。

  2. スキーマ ブラウザーで プラスアイコン。 プラス アイコンをクリックします。次に、**接続を作成**をクリックします。 **接続の設定** フォームが開きます。

  3. 次の情報を入力し、**次へ**をクリックします:

    • 接続名 に、名前を入力します。
    • 接続タイプ では、 dbt プラットフォーム を選択します。
  4. dbt プラットフォーム ホスト URL を Host テキスト フィールドに入力します。末尾のスラッシュを含めないでください (/)。

  5. dbtプラットフォームアカウントIDと、前のステップで収集したAPIトークンを入力します。

  6. 接続の作成 をクリックして、接続の詳細を確認します。

  7. (任意)他のユーザーに接続を使用する権限を付与します:

    • 権限を付与するユーザーIDとグループを、 プリンシパル ドロップダウンメニューで選択します。
    • 付与する特権を選択します。
    • 確認 をクリックします。

Unity Catalog接続の表示、編集、または削除の詳細については、Unity Catalog接続を参照してください。

dbt プラットフォーム タスクを使用して新しいジョブを作成します。

  1. ワークスペースで、サイドバーの ワークフロー アイコン。 ジョブ & パイプライン をクリックします。
  2. 「作成」をクリックし、次に「ジョブ」をクリックします。新しいジョブは、関連付けられたタイムスタンプで自動的に名前が付けられます。
  3. (オプション)ジョブ名をクリックし、新しい名前を入力して編集します。
  4. 「別のタスクの種類を追加」をクリックします。dbt プラットフォームを検索し、タイルをクリックして選択します。
  5. 「タスク名」を入力します。
  6. 以前に作成した接続を選択するには、 dbtプラットフォーム接続 ドロップダウンメニューを使用します。
  7. オーケストレーションする dbtプラットフォームジョブを選択するには、 dbtプラットフォームジョブ ドロップダウンメニューを使用します。
  8. (オプション)リトライ、実行時間またはストリーミングバックログのしきい値、あるいは通知を構成するには、詳細タスク設定を参照してください。
  9. タスクの保存 をクリックします。
  10. (任意)ジョブを手動でテストするには、 今すぐ実行 をクリックします。

このタスクを編集、クローン、無効化、または削除するには、「Lakeflowジョブでタスクを構成および編集する」を参照してください。

スケジュールまたはトリガーを設定します

ジョブは、時間ベースのスケジュールまたは新しいデータの到着に応じて、自動的にトリガーされるように設定できます。利用可能なオプションの詳細については、スケジュールとトリガーを使用したジョブの自動化を参照してください。

注記

dbtプラットフォームのジョブでは、継続的なトリガーはサポートされていません。

実行を監視します。

Databricks UI でLakeflow Job監視できます。 dbtプラットフォーム ジョブの場合は、 dbtプラットフォームのジョブ実行の詳細を指すリンクを開くこともできます。

実行を監視するには:

  1. ワークスペース サイドバーの「 ジョブ & パイプライン 」をクリックします。

  2. オプションで、 ジョブ自分が所有 フィルターを選択します。

  3. ジョブの 名前 リンクをクリックします。

    [実行] タブが表示され、アクティブな実行と完了した実行がマトリックスビューとリストビューで表示されます。

  4. 実行リストビューの 開始時刻 列にある実行のリンクをクリックします。dbtプラットフォームのジョブステータスが開きます。

  5. dbtで表示 をクリックして、dbtプラットフォームでジョブ実行の詳細を表示します。