Important
この機能は ベータ版です。 ワークスペース管理者は、[ プレビュー] ページからこの機能へのアクセスを制御できます。 Azure Databricks プレビューの管理を参照してください。
dbt プラットフォーム タスクを使用して、Azure Databricks から直接既存の dbt プラットフォーム ジョブを調整および監視します。 このページでは、dbt ジョブを選択してトリガーする方法、エラーの自動再試行オプションを設定する方法、実行を監視する方法について説明します。
dbt プラットフォームと dbt タスクの違い
ジョブは、dbt プロジェクトに 2 種類のタスクを提供します。 dbt プロジェクトが管理されている場所に基づいて適切なものを選択します。
dbt プラットフォーム タスク: これを使用して、既存の dbt プラットフォーム ジョブを調整します。 dbt プラットフォーム API に接続し、そこで実行をトリガーします。 監視やスケジュールなど、dbt プラットフォームのすべての利点を保持しながら、Azure Databricks でオーケストレーションを一元化する場合は、これを選択します。
dbt タスク: これを使用して、Git のコードを使用して Azure Databricks クラスターで dbt コア プロジェクトを実行します。 実行環境を完全に制御する必要があり、Azure Databricks 内で依存関係を完全に管理する場合は、これを選択します。 「ジョブの dbt タスク」を参照してください。
[前提条件]
dbt プラットフォーム タスクを使用するには、次の前提条件を満たす必要があります。
- ワークスペース管理者がプレビューを有効にする必要があります。 Azure Databricks プレビューの管理を参照してください。
- ワークスペース内の Unity カタログ メタストアに対する
CREATE CONNECTION権限が必要です。 - dbt プラットフォームで定義されたジョブを使用して、既存の dbt プロジェクトにアクセスします。 詳細については、 dbt ドキュメントの dbt プラットフォームのジョブ を参照してください。
- dbt プラットフォームでサービス トークンを生成するためのアクセス許可。 詳細については、「 サービス アカウント トークン」を参照してください。
注
セキュリティと運用上の安定性を確保するために、Databricks では、個人用アクセス トークンではなく、サービス アカウント トークンを生成することをお勧めします。 サービス アカウント トークンは個々のユーザーに関連付けられず、必要最小限のアクセス許可を提供するように簡単にスコープを設定できます。
dbt プラットフォームの詳細を収集する
dbt と Azure Databricks を統合するには、次の 3 つの詳細が必要です。
- dbt プラットフォームのアカウント ID。
- dbt プラットフォームで生成された API キー。
- dbt プラットフォーム デプロイ ホスト URL。
次のセクションでは、この必要な情報を見つける方法について説明します。
アカウント ID を取得します。
アカウント ID を取得するには:
- dbt プラットフォームにログインします。
- [設定]>[アカウント設定]に移動します。
- URL サフィックスからアカウント ID を取得します。これは、
https://cloud.getdbt.com/settings/accounts/{account_id}の形式です。
API キーを取得する
API キーを取得するには:
- dbt プラットフォームにログインします。
- 設定>プロファイル設定>プロファイル>APIアクセス>APIキーに移動します。
ホスト URL
ホスト URL は、場所とテナントによって異なります。 ご利用のリージョンの URL については、dbt ドキュメントの 「アクセス、リージョン、および IP アドレス 」を参照してください。
リージョンとテナント (マルチテナントまたはセルベース) を特定します。 [アクセス URL] 列を使用して、ホスト URL を取得します。
| テナントの種類 | リージョンの例 | ホスト URL の例 |
|---|---|---|
| マルチテナント | 北米 | https://cloud.getdbt.com |
| セルベース | 北米 (us-east-1) |
https://12345.us1.dbt.com (アカウント ID として 12345 を使用) |
dbt プラットフォーム接続のセットアップ
Azure Databricks で dbt プラットフォーム接続を設定するには、次の手順に従います。
- [
サイドバーのカタログ。
-
をクリックします。スキーマ ブラウザーのプラスアイコン。 次に、[ 接続の作成] をクリックします。 [ 接続のセットアップ] フォームが開きます。
- 次の情報を入力し、[ 次へ] をクリックします。
- [ 接続名] に名前を入力します。
- [接続の種類] で、[dbt platform] を選択します。
- [ ホスト ] テキスト フィールドに dbt プラットフォームのホスト URL を入力します。 末尾にスラッシュ (
/) を含めないでください。 - 前の手順で収集した dbt プラットフォームアカウント ID と API トークンを入力します。
- [ 接続の作成 ] をクリックして、接続の詳細を確認します。
- (省略可能)接続を使用するための他のユーザー特権を付与します。
- [プリンシパル] ドロップダウン メニューで、権限を付与するユーザー ID とグループ を 選択します。
- 付与する特権を選択します。
- [Confirm](確認) をクリックします。
dbt プラットフォーム タスクを使用して新しいジョブを作成する
- ワークスペースで、[ワークフロー] アイコンをクリック
サイドバーのジョブとパイプライン。
- [ 作成]、[ ジョブ] の順にクリックします。 新しいジョブには、関連付けられたタイムスタンプを使用して自動的に名前が付けられます。
- (省略可能)ジョブ名をクリックし、新しい名前を入力して編集します。
- [ 別のタスクの種類の追加] をクリックします。 dbt プラットフォームを検索し、タイルをクリックして選択します。
- タスク名を入力します。
- dbt プラットフォーム接続ドロップダウン メニューを使用して、前に作成した接続を選択します。
- [dbt platform job]\(dbt プラットフォーム ジョブ\) ドロップダウン メニューを使用して、調整する dbt プラットフォーム ジョブを選択します。
- [タスクの保存] をクリックします。
- (省略可能)[ 今すぐ実行 ] をクリックして、ジョブを手動でテストします。
スケジュールまたはトリガーを設定する
時間ベースのスケジュールまたは新しいデータの到着に従って自動的にトリガーされるようにジョブを構成できます。 使用可能なオプションの詳細については、「 スケジュールとトリガーを使用したジョブの自動化」を参照してください。
注
dbt プラットフォーム ジョブでは、継続的トリガーはサポートされていません。
実行を監視する
Azure Databricks UI で Lakeflow ジョブを監視できます。 dbt プラットフォーム ジョブの場合は、dbt プラットフォームのジョブ実行の詳細を指すリンクを開くこともできます。
実行を監視するには:
ワークスペースサイドバーで[ ジョブとパイプライン ]をクリックします。
(省略可能) ジョブ と 私が所有 のフィルターを選択します。
ジョブの [名前] リンクをクリックします。
[ 実行 ] タブが表示され、アクティブな実行と完了した実行のマトリックス ビューと一覧ビューが表示されます。
実行リスト ビューの [開始時刻 ] 列で、実行のリンクをクリックします。 dbt プラットフォームのジョブステータスが表示されます。
dbt プラットフォームでジョブ実行の詳細を表示するには、dbt で [表示] をクリックします。