ジョブにおける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 を取得するには:
- dbtプラットフォームにログインしてください。
- 設定 > アカウント設定 に移動します。
- URLサフィックスからアカウント ID を取得します。形式は次のとおりです:
https://cloud.getdbt.com/settings/accounts/{account_id}。
API キーを取得します
APIキーを取得するには:
- dbtプラットフォームにログインしてください。
- [設定] > [プロファイル設定] > [あなたのプロファイル] > [APIにアクセス] > [APIキー] に移動します。
ホスト URL
ホストURLは、お使いの場所とテナンシーによって異なります。お使いのリージョンのURLを見つけるには、dbtドキュメントの「アクセス、リージョン、IPアドレス」を参照してください。
リージョンとテナンシー(マルチテナントまたはセルベース)を識別します。ホスト URL を取得するには、**アクセス URL** 列を使用します。
テナンシータイプ | リージョンの例 | ホストURLの例。 |
|---|---|---|
マルチテナント | 北米 |
|
セルベース | 北米 ( |
|
dbt プラットフォーム接続セットアップ
Databricksでdbtプラットフォーム接続を設定するには、以下のステップを使用してください。
-
サイドバーの
カタログ をクリックします。
-
スキーマ ブラウザーで
プラス アイコンをクリックします。次に、**接続を作成**をクリックします。 **接続の設定** フォームが開きます。
-
次の情報を入力し、**次へ**をクリックします:
- 接続名 に、名前を入力します。
- 接続タイプ では、 dbt プラットフォーム を選択します。
-
dbt プラットフォーム ホスト URL を Host テキスト フィールドに入力します。末尾のスラッシュを含めないでください (
/)。 -
dbtプラットフォームアカウントIDと、前のステップで収集したAPIトークンを入力します。
-
接続の作成 をクリックして、接続の詳細を確認します。
-
(任意)他のユーザーに接続を使用する権限を付与します:
- 権限を付与するユーザーIDとグループを、 プリンシパル ドロップダウンメニューで選択します。
- 付与する特権を選択します。
- 確認 をクリックします。
Unity Catalog接続の表示、編集、または削除の詳細については、Unity Catalog接続を参照してください。
dbt プラットフォーム タスクを使用して新しいジョブを作成します。
- ワークスペースで、サイドバーの
ジョブ & パイプライン をクリックします。
- 「作成」をクリックし、次に「ジョブ」をクリックします。新しいジョブは、関連付けられたタイムスタンプで自動的に名前が付けられます。
- (オプション)ジョブ名をクリックし、新しい名前を入力して編集します。
- 「別のタスクの種類を追加」をクリックします。dbt プラットフォームを検索し、タイルをクリックして選択します。
- 「タスク名」を入力します。
- 以前に作成した接続を選択するには、 dbtプラットフォーム接続 ドロップダウンメニューを使用します。
- オーケストレーションする dbtプラットフォームジョブを選択するには、 dbtプラットフォームジョブ ドロップダウンメニューを使用します。
- (オプション)リトライ、実行時間またはストリーミングバックログのしきい値、あるいは通知を構成するには、詳細タスク設定を参照してください。
- タスクの保存 をクリックします。
- (任意)ジョブを手動でテストするには、 今すぐ実行 をクリックします。
このタスクを編集、クローン、無効化、または削除するには、「Lakeflowジョブでタスクを構成および編集する」を参照してください。
スケジュールまたはトリガーを設定します
ジョブは、時間ベースのスケジュールまたは新しいデータの到着に応じて、自動的にトリガーされるように設定できます。利用可能なオプションの詳細については、スケジュールとトリガーを使用したジョブの自動化を参照してください。
dbtプラットフォームのジョブでは、継続的なトリガーはサポートされていません。
実行を監視します。
Databricks UI でLakeflow Job監視できます。 dbtプラットフォーム ジョブの場合は、 dbtプラットフォームのジョブ実行の詳細を指すリンクを開くこともできます。
実行を監視するには:
-
ワークスペース サイドバーの「 ジョブ & パイプライン 」をクリックします。
-
オプションで、 ジョブ と 自分が所有 フィルターを選択します。
-
ジョブの 名前 リンクをクリックします。
[実行] タブが表示され、アクティブな実行と完了した実行がマトリックスビューとリストビューで表示されます。
-
実行リストビューの 開始時刻 列にある実行のリンクをクリックします。dbtプラットフォームのジョブステータスが開きます。
-
dbtで表示 をクリックして、dbtプラットフォームでジョブ実行の詳細を表示します。