> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sync.cdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 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](https://docs.sync.cdata.com/26.4/ja/connections/destinations/snowflake-destination.md)
* [Amazon Redshift](https://docs.sync.cdata.com/26.4/ja/connections/destinations/amazon-redshift-destination.md)
* [Databricks](https://docs.sync.cdata.com/26.4/ja/connections/destinations/databricks-destination.md)
* [PostgreSQL](https://docs.sync.cdata.com/26.4/ja/connections/destinations/postgresql-destination.md)
* [Google BigQuery](https://docs.sync.cdata.com/26.4/ja/connections/destinations/google-bigquery-destination.md)

## dbt Core の詳細

### DBT Transformation 用ツールのセットアップ

DBT Transformation を有効にするには、最初にdbt Core とその他のツールをセットアップする必要があります。

1. Git for Windows およびWindows 版Python 3.7 以降をインストールします。

   > [!NOTE]
   >
   > Git のようなアプリケーションは必要ありません。ただし、バージョン管理、プロジェクト共有、ソースコードの管理などができるため、このようなリポジトリが推奨されます。

   Sync のDBT Transformation 設定で後ほど使用するためにGit で以下の情報を見つけてコピーしてください。

   * **Git リポジトリURL：** リポジトリのURL はGit リポジトリウィンドウで確認できます。**Code** をクリックして**Clone** ダイアログを開きます。URL はダイアログの**HTTPS** タブにあります。URL フィールドの右端にあるコピーアイコンをクリックして、URL をコピーします。後ほどSync で使用するためにアイコンを保存してください。
   * **パーソナルアクセストークン：** パーソナルアクセストークンを取得するには：

     <ol type="a">
       <li>Git ウィンドウの右上にある自分のプロファイルアイコンをクリックし、**Settings** を選択して**Profile settings** ページを開きます。</li>
       <li>**Developer Settings > Personal access tokens** を選択します。**New personal access token** ペインが開きます。</li>
       <li>**Select scopes** カテゴリにある**repo** チェックボックスを選択します（この項目では他の条件も設定できますが、必須ではありません）。例えば、**Expiration** カテゴリでトークンの有効期限を選択したい（または有効期限なし）場合があります。</li>
       <li>ページの一番下の**Generate token** をクリックします。生成されたトークンは後でSync で使用するためにコピーして保存してください。</li>
     </ol>

   パーソナルアクセストークンの取得についての詳細は、[個人用アクセス トークンの作成](https://docs.github.com/ja/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token) を参照してください。

2\. Sync がインストールされているマシンに、dbt Core と同期先用のアダプタープラグインをインストールします。プラグインは、[前述のリスト](#supported-destinations)にある同期先ごとに用意されています。

3\. Git リポジトリをローカルマシンにクローンして、dbt プロジェクトをローカルにダウンロードします。Sync はセットアップ時や各実行前にリポジトリをクローンし、プロジェクトのあらゆる変更がSync の次の実行に反映されることを保証します。

4\. Sync でTransformation を作成します（YML またはSQL ファイルを含むdbt プロジェクトを使用します）。次のセクションで説明します。

### DBT Transformation の作成

dbt transformation を作成するには：

1. Sync を開き**変換**ページに移動します。
2. 変換を実行するジョブを選択します。続いて、**変換を追加**ボタンをクリックします。
3. **変換を追加**ダイアログで、フィールドに以下のように入力します：
   * **名前：** 変換の名前を入力。
   * **種類：** 変換の種類として**dbt Core** を選択。
   * **プロジェクトフォルダ：** 次のオプションのいずれか1つを選択。デフォルトオプションは**Local** です。

     **Local：**既存のローカルプロジェクトフォルダのパスを入力。このオプションでは、**フォルダパス**フィールドにdbt プロジェクトのフォルダページも入力する必要があります。

     * **Github：**[先ほどGit で作成した](#url)プロジェクトのURL を入力。このオプションでは、次の情報を入力します：
       * **Git リポジトリURL：** Git リポジトリURL を次の形式で入力。[https://github.com/\*Owner\*/\*Repository\*.git](https://github.com/*Owner*/*Repository*.git)
       * **トークン：** [先ほどGit でコピー](#pat)したパーソナルアクセストークンを入力。
   * **Destination Schema：** 任意の同期先スキーマを追加。
4. **変換を追加**ボタンをクリックします。

## dbt Cloud の詳細

### dbt Cloud へのCData Sync の接続

*dbt Cloud* は、dbt プロジェクトでのコードの記述、実行、テスト、およびバージョン管理をブラウザから行える統合開発環境（IDE）です（コマンドラインの使用は不要です）。

dbt Cloud に接続するには：

1. Sync を開き、**システム設定 > 高度な設定**を選択します。次に、**dbt Cloud 設定**カテゴリを見つけます。

2. そのセクションの編集アイコンをクリックして、**dbt Cloud 設定**ダイアログを開きます。

3. **dbt Cloud 設定**セクションでアカウント識別子（Id）を入力します。アカウントId がわからない場合は、次の手順で取得できます：
   1. dbt Cloud アカウントインフォメーションセンターにログインします。
   2. 左側のメニューペインの下部にあるプロファイル画像と名前をクリックします。このアクションにより別のメニューが開きます。
   3. **Your Profile > Account** を選択します。アカウントId は、以下に示すように**Account ID** フィールド（**Account information** セクション内）に表示されます：

      ![](https://mintcdn.com/cdata-sync/88MkaeOw70WElG5o/26.4/images/dbt-Transformations_Connecting-CData-Sync-to-dbt-Cloud_2.png?fit=max\&auto=format\&n=88MkaeOw70WElG5o\&q=85\&s=220b7be9f1fac5eb1527435cfc1e62b4)

4. **トークン**フィールドに、dbt Cloud パーソナルアクセストークン（PAT）またはサービストークンを入力します。
   * PAT がない場合は、dbt Cloud アカウントインフォメーションセンターで**Account Settings > API Tokens > Personal Tokens** を選択することで作成できます。新しく作成したトークンをコピーしてSync に戻り、**dbt Cloud 設定**ダイアログの**トークン**フィールドにペーストします。
   * サービストークンがない場合は、**Account Settings > Service Tokens > New Token** を選択することで作成できます。新しく作成したトークンをコピーしてSync に戻り、**dbt Cloud 設定**ダイアログの**トークン**フィールドにペーストします。

5. **Base URL** フィールドにベースURL を入力します。

   > [!NOTE]
   >
   > ベースURL を確認するには、dbt Cloud アカウントインフォメーションセンターを開き**Your Profile > Account > Access URLs** を選択します。ベースURL は、**Access URL** テキストボックスに表示されます。

6. **接続テスト**をクリックして接続されることを確認します。接続に成功したら、**保存**をクリックして情報を保存します。

### DBT Cloud Transformation の作成

dbt Cloud transformation を作成するには：

1. Sync を開き**変換**ページに移動します。
2. 変換を実行するジョブを選択します。続いて、**変換を追加**ボタンをクリックします。
3. **変換を追加**ダイアログで、フィールドに以下のように入力します：
   * **名前：** 変換の名前を入力。
   * **種類：** 変換の種類として**dbt Cloud** を選択。
   * **dbt ジョブ：** ドロップダウンリストからdbt ジョブを選択。
4. **変換を追加**ボタンをクリックします。

## DBT Transformation 設定の指定

変換の設定を編集するには、変換の行末で **... > 編集**を選択します。設定ページには、設定を管理できる3つのタブがあります：

* **概要**
* **変換履歴**
* **コメント**

### **概要**タブ

**概要**タブでは、一般的な設定、トリガー、およびEメールアラートを管理できます。このページでは、変換の最後の実行の詳細も確認できます。

#### **設定**カテゴリ

**設定**カテゴリでは、次のようにジョブの自動再試行、ログファイルの詳細レベル、およびコマンドタイムアウトを指定できます。

1. 変換の行末にある **... > 編集**を選択します。このアクションにより**設定を編集**ダイアログが開きます。

   ![](https://mintcdn.com/cdata-sync/88MkaeOw70WElG5o/26.4/images/dbt-Transformations-overview-tab.png?fit=max\&auto=format\&n=88MkaeOw70WElG5o\&q=85\&s=4f9d685a69ab98fb342b317063b5c8f4)
2. （オプション）1つ以上のタスクが失敗した場合にSync の変換を再試行する場合は、**有効化済み**を選択します。失敗したタスクのみが再度実行されます。
3. **ログファイルの詳細レベル**のレベルを選択します。
4. **コマンドタイムアウト**フィールドにタイムアウト値を入力します。
5. **保存**をクリックします。

#### **トリガー**カテゴリ

**トリガー**カテゴリでは、次のように、変換を実行する特定のスケジュールを設定できます。

1. **トリガー**カテゴリで**設定**をクリックします。このアクションにより**トリガー**ダイアログが開きます。

2. 希望するトリガーの種類を指定します。以下の種類から選択できます：
   * **なし：** スケジュールオプションをオフにし、手動で変換を開始できるようにします。

   * **スケジュール実行：** 変換を実行するためのスケジュールを設定できます。この設定により、**間隔**と**毎時何分**フィールドも有効になります。**間隔**の設定には、より細かな設定を選択することが可能です。

     * **分：** **毎** オプションが有効になり、変換を実行する時間を分単位（10、15、20、または30分ごと）で指定できます。
     * **毎時：** **毎時何分** フィールドが有効になり、毎時何分（0-59）に変換が実行されるかを設定できます。例えば、毎時15分に変換を実行することができます。
     * **毎日：** **時刻** フィールドが有効になり、変換を実行する毎日の特定の時間を設定できます。
     * **毎週：** この設定により、**日**および**時刻**の2つのフィールドが有効になり、変換を実行する特定の曜日と時間を指定できます。
     * **毎月：** **日**および**時**フィールドが有効になります。ただし、**日**では、各月の特定の日付（1から31の値、または最終日）と時間を選択します。
     * **カスタム：** **Cron ステートメント**フィールドが有効になり、変換の実行を開始するためのcron ジョブを記述できます。

     **スケジュール実行**は、複数のジョブを実行している場合に便利です。どのジョブの後に変換を実行するかを指定できないため、複数のジョブに対して**ジョブ後**オプションを使用することはできません。

   * **ジョブ後：** 利用可能なすべてのジョブをリスト表示する**ジョブ**ドロップダウンリストを有効にします。変換を実行するための特定のジョブを選択できます。

     **ジョブ**フィールドの**特定のタスクを選択**をクリックすると、データに対して実行するさまざまなタスクを指定することも可能です。実行するタスクを選択します。

3. **保存**をクリックします。

> [!NOTE]
>
> トリガーのスケジュールを無効化するには、**トリガー**トグルスイッチを左にスライドします（無効化するとスイッチがグレーになります）。トグルスイッチは、カテゴリボックスの**トリガー**の右側に表示されます。

#### **ラベル**カテゴリ

このカテゴリを使用すると、ラベルを追加できます：

1. **ラベル**カテゴリで**ラベルを追加**をクリックします。***dbtTransformationName* - ラベルを追加**ダイアログが開きます。現在使用可能なラベルをリストから検索して選択することも、新しいラベルを追加することもできます。

2. 新しいラベルを追加するには、**ラベルを検索または追加**テキストボックスにラベルを入力し、**追加**をクリックします。

   ![](https://mintcdn.com/cdata-sync/88MkaeOw70WElG5o/26.4/images/dbt-Transformations_labels-category_1.png?fit=max\&auto=format\&n=88MkaeOw70WElG5o\&q=85\&s=97116bf8f0a96e45d6517a0e868e481d)

   以下に示すように、新しいラベルが利用可能なラベルのリストに表示されます。

   ![](https://mintcdn.com/cdata-sync/88MkaeOw70WElG5o/26.4/images/dbt-Transformations_labels-category_2.png?fit=max\&auto=format\&n=88MkaeOw70WElG5o\&q=85\&s=710d7cbb7d826394d41931209f68d9ba)

3. **保存**をクリックします。

これらの手順を完了すると、新しいラベルが設定ページの**ラベル**カテゴリボックスに表示されます。

> [!NOTE]
>
> **変換**概要ページの変換行末にあるオプションメニュー（**...**）をクリックしてラベルを追加することもできます。
>
> ![](https://mintcdn.com/cdata-sync/88MkaeOw70WElG5o/26.4/images/dbt-Transformations_labels-category_3.png?fit=max\&auto=format\&n=88MkaeOw70WElG5o\&q=85\&s=75ede601e36f08526477a38971da5ee1)
>
> このオプションでは**ラベルを追加**ダイアログが開き、このセクションの手順に従ってラベルを追加できます。

#### **通知**カテゴリ

**通知**カテゴリでは、次のように変換のEメールアラートを設定できます。

1. アラートを設定したい変換の行末にある **... > 編集**を選択します。
2. **通知**カテゴリにある**設定**をクリックします。
3. **通知**ダイアログにある次のオプションを設定します：
   * **宛先：** アラートを送信するEメールアドレス。
   * **件名：** アラートメールの件名。
   * **エラーのみ：** ジョブでエラーが発生した場合のみアラートメールを送信するように指定するために選択できるオプション。このオプションを選択しない場合、Sync は各ジョブの実行後にアラートを送信します。
4. **保存**をクリックします。

> [!NOTE]
>
> アラートを無効化するには、**通知**トグルスイッチを左にスライドします（無効化するとスイッチがグレーになります）。トグルスイッチは、カテゴリボックスの**通知**の右側に表示されます。

### **変換履歴**タブ

このタブには、変換ジョブの実行に関する詳細が表示されます。詳細には、**実行日**、**ステータス**、**影響を受けたレコード**、**実行時間**、および**インスタンスID** が含まれます。レポートをステータス（**すべてのステータス**、**成功**、**失敗**、または**エラー**）で絞り込むことも可能です。さらに、**履歴をエクスポート**をクリックして、履歴をエクスポートできます。

### コメントタブ

このタブでは、ジョブに関連するメモを記録および追跡できます。各コメントにはタイムスタンプが付きます。右上隅のドロップダウンメニューを使用して、タイムスタンプに基づいて並べ替え順序を変更できます。オプションには、**新しい順**（デフォルト）または**古い順**があります。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.