DBT Transformation
Version 23.4.8843
Version 23.4.8843
DBT Transformation
CData Sync はdbt Core(dbt Labs™ が提供するデータ構築ツール)と統合され、パワフルなTransformation が作成できるようになりました。この統合により、Transformation の開発・制御・実行が可能になり、サポートされている同期先データベースでPython モデルを構築できます。
プロジェクトリポジトリを完全に制御することができ、SQL SELECT ステートメントを記述しデータを変換してモデルを構築できます。Sync は、選択した同期先でこれらのTransformation を実行するためのパイプラインを作成するだけです。
単純なTransformation を実行するだけであれば、基本的なSQL Transformation で十分です。しかし、高度なモデリングが必要な場合は、dbt Core モデルを使用するTransformation の方がより盤石な機能を提供します。例えば、モデルに依存関係が含まれている場合、dbt Core プロジェクトを使用するTransformation はそれらの依存関係を認識して尊重し、モデルを正しい順序で構築できるようにします。
サポートされている同期先
DBT Transformation は、次の同期先でサポートされています。
-
Snowflake
-
Amazon Redshift
-
Databricks
-
PostgreSQL
-
Google BigQuery
dbt Core の詳細
DBT Transformation 用ツールのセットアップ
DBT Transformation を有効にするには、最初にdbt Core とその他のツールをセットアップする必要があります。
-
Git for Windows およびWindows 版Python 3.7 以降
Note:Git のようなアプリケーションは必要ありません。ただし、バージョン管理、プロジェクト共有、ソースコードの管理などができるため、このようなリポジトリが推奨されます。
Sync のDBT Transformation 設定で後ほど使用するためにGit で以下の情報を見つけてコピーしてください。
-
Git リポジトリURL - リポジトリのURL はGit リポジトリウィンドウで確認できます。Code をクリックしてClone ダイアログを開きます。URL はダイアログのHTTPS タブにあります。URL フィールドの右端にあるコピーアイコンをクリックして、URL をコピーします。後ほどSync で使用するためにアイコンを保存してください。
-
パーソナルアクセストークン - パーソナルアクセストークンを取得するには:
- Git ウィンドウの右上にある自分のプロファイルアイコンをクリックし、Settings を選択してProfile settings ページを開きます。
- Developer Settings -> Personal access tokens を選択します。New personal access token ペインが開きます。
- Select scopes カテゴリにあるrepo チェックボックスを選択します(この項目では他の条件も設定できますが、必須ではありません)。例えば、Expiration カテゴリでトークンの有効期限を選択したい(または有効期限なし)場合があります。
- ページの一番下のGenerate token をクリックします。生成されたトークンは後でSync で使用するためにコピーして保存してください。
パーソナルアクセストークンの取得についての詳細は、個人用アクセス トークンの作成 を参照してください。
-
-
Sync がインストールされているマシンに、dbt Core と同期先用のアダプタープラグインをインストールします。プラグインは、前述のリストにある同期先ごとに用意されています。
-
Git リポジトリをローカルマシンにクローンして、dbt プロジェクトをローカルにダウンロードします。Sync はセットアップ時や各実行前にリポジトリをクローンし、プロジェクトのあらゆる変更がSync の次の実行に反映されることを保証します。
-
Sync でTransformation を作成します(YML またはSQL ファイルを含むdbt プロジェクトを使用します)。次のセクションで説明します。
DBT Transformation の作成
dbt transformation を作成するには:
-
Sync を開き変換ページに移動します。
-
変換を実行するジョブを選択します。続いて、変換を追加ボタンをクリックします。
-
変換を追加ダイアログボックスで、フィールドに以下のように入力します。
-
名前:変換の名前を入力。
-
種類:変換の種類としてdbt Core を選択。
-
プロジェクトフォルダ:次のオプションのいずれか1つを選択。デフォルトオプションはLocal です。
-
Local:既存のローカルプロジェクトフォルダのパスを入力。このオプションでは、フォルダパスフィールドにdbt プロジェクトのフォルダページも入力する必要があります。
-
Github:先ほどGit で作成したプロジェクトのURL を入力。このオプションでは、次の情報を入力します:
-
Git リポジトリURL:Git リポジトリURL を次の形式で入力。https://github.com/Owner/Repository.git
-
トークン: 先ほどGit でコピーしたパーソナルアクセストークンを入力。
-
-
-
Destination Schema - 任意の同期先スキーマを追加。
-
-
変換を追加ボタンをクリックします。
dbt Cloud の詳細
dbt Cloud へのCData Sync の接続
dbt Cloud は、dbt プロジェクトでのコードの記述、実行、テスト、およびバージョン管理をブラウザから行える統合開発環境(IDE)です(コマンドラインの使用は不要です)。
dbt Cloud に接続するには:
-
Sync の設定ページの高度な設定タブを開き、アカウントId とAPI キーを指定します。
-
アカウントId は、dbt Cloud のアカウント設定に表示されるURL で確認することができます。Id を取得するには、dbt Cloud アカウントにサインインし、Settings(歯車アイコン) > Account Settings を選択します。アカウントId は、次の例に示すように、/accounts/ パス構成要素の後に続きます。
例:https://cloud.getdbt.com/settings/accounts/1234
この例では、アカウントId は1234です。
また、以下に示すように、開発タブをクリックしたときに表示されるURL でもアカウントId を確認できます。
*例:https://cloud.getdbt.com/develop/1234/projects/ProjectId*
-
API キーは、Settings アイコン(dbt Cloud ウィンドウの右上)をクリックしてAccount Settings -> API Access を選択することで入手できます。キーは、API Access ページ下部のAPI セクションにリストされています。
-
-
接続テストをクリックして接続されることを確認します。
DBT Cloud Transformation の作成
dbt Cloud transformation を作成するには:
-
Sync を開き変換ページに移動します。
-
変換を実行するジョブを選択します。続いて、変換を追加ボタンをクリックします。
-
変換を追加ダイアログボックスで、フィールドに以下のように入力します。
-
名前:変換の名前を入力。
-
種類:変換の種類としてdbt Cloud を選択。
-
dbt ジョブ:ドロップダウンリストからdbt ジョブを選択。
-
-
変換を追加ボタンをクリックします。
変換ページについて
変換ページには、使用された同期先、変換がスケジュールされているかどうか、最後の実行状況、次の実行など、変換の詳細がリスト表示されます。また、以下のように変換の種類でテーブルを絞り込むこともできます。
ジョブで一括操作(実行、スケジュールを無効化、スケジュールを有効化、および選択解除)を使用するには、1つ以上のジョブの横にあるチェックボックスを選択します。
オプションメニュー(…)から各変換を管理できます。オプションメニューを表示するには、変換行の最後にカーソルを置きます。メニューから次のオプションが利用可能です。
-
編集 - 一般設定の変更、アラート通知の設定、実行する変換のスケジューリング、変換履歴の表示など、変換の設定を編集できます。
-
ログファイルをダウンロード -前回の変換実行のログファイルをダウンロードします。
-
実行の詳細 - 変換の実行に関する情報を表示するダイアログボックスを開きます。ダイアログボックスには、情報を表示する次の2つのタブがあります:
-
詳細:このタブには、実行日、実行ステータス、変換の実行にかかった時間、および影響を受けた行数が表示されます。
-
ログ:このタブでは、変換で利用できるログを一覧表示します。ログ名の右にあるダウンロードアイコンをクリックすると、個々のログをダウンロードできます。すべてのログファイルをダウンロードをクリックすると、すべてのログをダウンロードできます。
-
-
削除 - 変換を完全に削除します。
変換の設定の指定
変換の設定を編集するには、変換の行末で… > 編集を選択します。設定ページには、設定を管理できる2つのタブがあります。
-
概要:このタブには、設定、通知、およびトリガーカテゴリがあり、これらの設定タイプを編集できます。
-
変換履歴:このタブには、変換ジョブの実行に関する詳細が表示されます。詳細には、実行日、ステータス、影響を受けた行数、および実行時間が含まれます。レポートをステータス(すべてのステータス、成功、失敗、またはエラー)で絞り込むことも可能です。さらに、履歴をエクスポートをクリックして、履歴をエクスポートできます。
概要タブ
概要タブでは、一般的な設定、トリガー、および通知を管理できます。このページでは、変換の最後の実行の詳細も確認できます。
設定カテゴリ
設定カテゴリでは、次のようにログファイルの詳細レベルとコマンドタイムアウトを設定できます。
-
変換の行末にある… > 編集を選択します。このアクションにより設定を編集ダイアログボックスが開きます。
-
ログファイルの詳細レベルの値を選択します。
-
コマンドタイムアウトフィールドにタイムアウト値を入力します。
-
保存をクリックします。
トリガーカテゴリ
トリガーカテゴリでは、次のように、変換を実行する特定のスケジュールを設定できます。
-
トリガーカテゴリで設定をクリックします。このアクションによりトリガーダイアログボックスが開きます。
-
希望するトリガーの種類を指定します。以下の種類から選択できます:
-
なし - スケジュールオプションをオフにし、手動で変換を開始できるようにします。
-
スケジュール実行 - 変換を実行するためのスケジュールを設定できます。この設定により、間隔と毎時何分フィールドも有効になります。間隔の設定には、より細かな設定を選択することが可能です。
-
Minute - 毎 オプションが有効になり、変換を実行する時間を分単位(10、15、20、または30分ごと)で指定できます。
-
Hourly - 毎時何分 フィールドが有効になり、毎時何分(0-59)に変換が実行されるかを設定できます。例えば、毎時15分に変換を実行することができます。
-
Daily - 時刻 フィールドが有効になり、変換を実行する毎日の特定の時間を設定できます。
-
Weekly - この設定により、曜日/日付および時の2つのフィールドが有効になり、変換を実行する特定の曜日と時間を指定できます。
-
Monthly - 曜日/日付および時フィールドが有効になります。ただし、曜日/日付では、各月の特定の日付(1から31の値、または最終日)と時間を選択します。
-
Cron - Cron 式フィールドが有効になり、変換の実行を開始するためのcron ジョブを記述できます。
スケジュール実行は、複数のジョブを実行している場合に便利です。どのジョブの後に変換を実行するかを指定できないため、複数のジョブに対してジョブ後オプションを使用することはできません。
-
-
ジョブ後 - 利用可能なすべてのジョブをリスト表示するジョブドロップダウンリストを有効にします。変換を実行するための特定のジョブを選択できます。
ジョブフィールドの特定のタスクを選択をクリックすると、データに対して実行するさまざまなタスクを指定することも可能です。実行するタスクを選択します。
-
-
保存をクリックします。
Note:トリガーのスケジュールを無効化するには、トリガートグルスイッチを左にスライドします(無効化するとスイッチがグレーになります)。トグルスイッチは、カテゴリボックスのトリガーの右側に表示されます。
通知カテゴリ
通知カテゴリでは、次のように変換のE メール通知を設定できます。
-
通知を設定したい変換の行末にある… > 編集を選択します。
-
通知カテゴリにある設定をクリックします。
-
通知ダイアログボックスにある次のオプションを設定します。
-
宛先 - E メール通知の宛先。
-
件名 - E メール通知の件名。
-
エラー発生時のみE メールを送信 - ジョブでエラーが発生した場合のみ通知メールを送信するように指定するために選択できるオプション。このオプションを選択しない場合、Sync は各ジョブの実行後に通知を送信します。
-
-
保存をクリックします。
Note:通知を無効化するには、通知トグルスイッチを左にスライドします(無効化するとスイッチがグレーになります)。トグルスイッチは、カテゴリボックスの通知の右側に表示されます。
変換履歴タブ
このタブには、変換ジョブの実行に関する詳細が表示されます。詳細には、実行日、ステータス、影響を受けた行数、および実行時間が含まれます。レポートをステータス(すべてのステータス、成功、失敗、またはエラー)で絞り込むことも可能です。さらに、履歴をエクスポートをクリックして、履歴をエクスポートできます。