dbtジョブ設定

Prev Next

概要

本記事では、dbtジョブ設定について説明します。

設定項目一覧

共通設定

項目名 必須 デフォルト値 内容
名前 ✓ - dbtジョブ設定の名前を入力します。
メモ - - dbtジョブ設定のメモを入力できます。
dbtリポジトリ ✓ - TROCCOに連携したdbt Gitリポジトリを選択します。
実行コマンド ✓ dbt build 実行コマンドを選択します。
オプションとその値を設定することもできます。
詳しくは、対応するdbtコマンドを参照ください。
スレッド数 ✓ 1 dbtが一度に処理できるモデルの数を設定します。
設定できるスレッド数の上限は16です。
スレッド数について、詳しくはunderstanding-threadsを参照ください。
ターゲット - - dbtジョブ実行後に生成されるprofiles.yml内のtargetの値を指定できます。
クエリ内で条件分岐させたい場合のフラグとしてtargetの値を活用する、といったこともできます。
なお、未入力の場合、targetにはtrocco_defaultという値が渡されます。
詳しくは、Custom target namesを参照ください。
スレッド数

dbtコマンドが実行されるときは、まずモデル間のリンクの有向無サイクルグラフ(DAG)が作成されます。
スレッド数では、dbtが一度に処理できるグラフのパスの最大数を指定します。

なお、一般的にはスレッド数を増やすことで実行時間は短くなりますが、その一方でアダプターに対する負荷が増加します。
したがって、最適なスレッド数は、データウェアハウスとその構成に依存します。

アダプターごとの設定項目

dbt Gitリポジトリで設定したアダプターによって以降の設定項目は異なります。

アダプターがGoogle BigQueryの場合

項目名 必須 内容
Google BigQuery接続情報 ✓ Google BigQueryの接続情報を選択します。
詳しくはBigQueryの接続情報をご参照ください。
データセット ✓ データ出力先のデータセット名を入力します。
ロケーション - データ出力先のデータセットのロケーションを入力できます。
ロケーションを入力しなかった場合、指定したデータセットが出力先に存在しなかったときは、US(マルチリージョン)がデータセットのロケーションに指定されます。

アダプターがSnowflakeの場合

項目名 必須 内容
Snowflake接続情報 ✓ Snowflakeの接続情報を選択します。
詳しくはSnowflakeの接続情報を参照ください。
なお、接続情報の認証方式には「キーペア認証」「プログラムによるアクセストークン認証」「Microsoft Entra IDによるOAuth認証」のいずれも使用できます。
ウェアハウス ✓ 処理に利用するウェアハウス名を入力します。
データベース ✓ データ出力先のデータベース名を入力します。
スキーマ ✓ データ出力先のスキーマ名を入力します。
ロール - Snowflakeを利用する上で必要な権限をまとめたロール名を入力します。
ロールについて、詳しくはSnowflakeの接続情報の権限とロールを参照ください。

アダプターがAmazon Redshiftの場合

項目名 必須 内容
Redshift接続情報 ✓ Amazon Redshiftの接続情報を選択します。
詳しくは、Amazon Redshiftの接続情報をご参照ください。
データベース ✓ データ出力先のデータベース名を入力します。
スキーマ ✓ データ出力先のスキーマ名を入力します。

対応するdbtコマンド

以下は、TROCCOが対応しているdbtコマンドです。
dbtコマンドについて、詳しくはdbt Command referenceを参照ください。

dbtコマンドに付帯する機能

TROCCOでは、dbtコマンドに対して、オプション引数およびカスタム変数を利用できます。

コマンド名 概要
dbt build プロジェクト内の全リソースをビルドします。
dbt deps パッケージをインストールします。
dbt run モデルファイルを実行します。
dbt run-operation マクロを実行します。
下記枠にマクロ名を入力してください。
image{height="" width="500"}
オプションとして --vars および --args を指定可能です。
dbt seed アダプターにCSVファイルを転送します。
dbt snapshot snapshotジョブを実行します。
dbt source freshness データソースの鮮度をチェックします。
dbt test テストを実行します。

dbtジョブ設定の各種操作

dbtジョブ設定一覧画面

005-p.png

dbtジョブ設定詳細画面

image

dbtジョブ設定の複製

dbtジョブ設定は複製できません。

① 新規追加

dbtジョブ設定を新規追加します。新規作成画面が表示されます。

② 編集

dbtジョブ設定を編集します。詳細画面が表示されます。

③ 実行

dbtジョブを実行します。実行画面が表示されます。

④ 削除

dbtジョブ設定を削除します。

⑤ 作成者

チーム機能をご利用の場合、dbtジョブ設定の作成者は、該当の設定に対してリソースグループ管理者ロールを有するユーザーと同様の操作権限を有します。
詳しくは、下記の「ロール・パーミッション」を参照ください。

ロール・パーミッション

チーム機能をご利用の場合

dbtジョブ設定は、TROCCOにおいてリソースとして扱われます。

操作\ロール リソースグループ管理者 リソースグループ編集者 リソースグループ運用者 リソースグループ閲覧者 ロール無し
dbtジョブ設定の編集 ✓ ✓ - - -
dbtジョブ設定の削除 ✓ ✓ - - -
dbtジョブの実行 ✓ ✓ ✓ - -
dbtジョブ設定の閲覧 ✓ ✓ ✓ ✓ -
dbtジョブ実行履歴の閲覧 ✓ ✓ ✓ ✓ -
dbtジョブ設定の新規追加 ✓ ✓ ✓ ✓ ✓