# Teradata エクスポートインテグレーション

Teradataインテグレーションを使用すると、Treasure DataからTeradataサーバーにデータをエクスポートできます。

## 前提条件

- Treasure Dataの基本的な知識
- Teradata SQLの基本的な知識
- 稼働中のTeradataインスタンス


## 新しい認証の作成

1. **インテグレーションハブ** > **カタログ**に移動します。
2. 検索して**Teradata**を選択します。


![](/assets/screenshot-2025-12-11-at-21.02.41.20bcb1a211e4f3b94bcbcc052479a02fc857809c63ba7bd99eb1c05012083932.14e1eac9.png)

1. ダイアログが開きます。


![](/assets/screenshot-2025-09-22-at-13.59.50.f6b3ebecf738cd695dbc99f011ca71868b5c579bfe554bfe41f4ccdcdad8570d.14e1eac9.png)

1. 設定情報を入力します。


| パラメータ | 説明 |
|  --- | --- |
| **ホスト** | TeradataデータベースのホストIPアドレスなどのホスト情報。 |
| **ポート** | インスタンスの接続ポート。Teradataのデフォルトは1025です。 |
| **ユーザー名** | Teradataデータベースに接続するためのユーザー名。 |
| **パスワード** | Teradataデータベースに接続するためのパスワード。 |
| **JDBC接続オプション** | Teradataデータベースで必要な特別なJDBC接続。以下のJDBCオプションは無視されるため、追加しないでください：- DBS_PORT（ポート設定を使用）
- DATABASE（データベース設定を使用）
- USER（ユーザー設定を使用）
- PASSWORD（パスワード設定を使用）
- LOGMECH（現在TD2のみサポート）

 |
| **接続タイムアウト** | ソケット接続のタイムアウト（秒単位）（デフォルトは300）。 |
| **ネットワークタイムアウト** | ネットワークソケット操作のタイムアウト（秒単位）（デフォルトは1800）。0はタイムアウトなしを意味します。 |


1. 接続に名前を付けて、**完了**を選択します。


## エクスポート結果の設定

このステップでは、クエリを作成または再利用し、クエリ内のデータ接続を設定します。

### TDとTeradata間の互換性のあるエクスポートデータ

| TD/Teradata | string | double | long | boolean | timestamp | json |
|  --- | --- | --- | --- | --- | --- | --- |
| BYTEINT | yes | yes | yes | yes | no | no |
| SMALLINT | yes | yes | yes | yes | no | no |
| INTEGER | yes | yes | yes | yes | no | no |
| BIGINT | yes | yes | yes | yes | yes (EpochMilli) | no |
| FLOAT | yes | yes | yes | yes | no | no |
| DECIMAL | yes | yes | yes | yes | no | no |
| VARCHAR | yes | yes | yes | yes | yes | yes |
| CHAR | yes | yes | yes | yes | yes | yes |
| CLOB | yes | yes | yes | yes | yes | yes |
| DATE | yes (format yyyy-MM-ddが必要) | no | yes (EpochMilliが必要) | no | yes | no |
| TIME | yes (format HH:mm:[ss]が必要) | no | yes (EpochMilliが必要) | no | yes | no |
| TIMESTAMP | yes (format yyyy-MM-ddTHH:mm:ssZが必要) | no | yes (EpochMilliが必要) | no | yes | no |


互換性がない場合は、NULL値が設定されます。その他のTeradataデータ型はサポートされていません。

### データ型マッピング

ターゲットテーブルが存在しない場合のTDタイプからTeradataタイプへのデフォルトマッピングは以下の通りです：

| TD結果 | Teradata |
|  --- | --- |
| json | VARCHAR (1000) |
| string | VARCHAR (500) |
| double | FLOAT |
| long | BIGINT |
| timestamp | TIMESTAMP |
| boolean | BYTEINT |


デフォルトとは異なる型を設定したい場合があるかもしれません。データ型マッピングを使用すると、特定の列に特定の型（例えば、VARCHAR）を明示的に設定できます。

データマッピングを使用する場合、以下のことが当てはまります：

新しいターゲットテーブルを作成する場合にのみ適用されます。データ型マッピングパラメータの構文は次のとおりです：col_name_1:VARCHAR; col_name2:BIGINT。列名はエクスポート結果のフィールド名と一致する必要があります。

### パラメータを指定して接続を設定する

Treasure コンソールに移動します。**データワークベンチ** > **クエリ**に移動します。データのエクスポートに使用するクエリにアクセスします。

クエリエディタの上部にある**エクスポート結果**を選択します。

インテグレーション選択ダイアログが開きます。結果のエクスポートに使用する接続を選択する際に、次の2つのオプションがあります：

1. 既存の接続を使用する
検索ボックスに接続名を入力して、接続をフィルタリングして選択します。
ダイアログが開きます：
Insert モード
![](/assets/screenshot-2025-12-03-at-15.41.59.1cf945f5ff38e0b014e0b6ce13e79a05d936b54af1a1f9ace38602e06bc71e42.14e1eac9.png)
Truncate モード
![](/assets/screenshot-2025-12-03-at-15.42.07.3722f04b0682f4da722b7feb515011d4af08f40b88cd0b3c241e1b2330b48452.14e1eac9.png)
Merge モード
![](/assets/screenshot-2025-12-03-at-15.42.14.04a1b2f35731657570a37fd758fa3a5a66c745134a943726812cab80410b6c79.14e1eac9.png)
2. 新しいTeradata接続を作成する。
**新規インテグレーション**を選択し、**タイプ**ドロップダウンからTeradataを選択します。以下が表示されます：
![](/assets/screenshot-2025-12-11-at-21.16.23.afbf0dca89e39d660b83725829f6413dbc8b5759896f8ef069a15319d9c2f1b7.14e1eac9.png)
新しい接続のTeradata情報を入力します。次に「次へ」をクリックします。


### 設定パラメータ

| パラメータ | 説明 |
|  --- | --- |
| **データベース名**（必須） | データベース名 |
| **ターゲットテーブル**（必須） | ターゲットテーブル名 |
| **テーブルタイプ**（必須） | テーブルタイプ。新しいテーブルを作成する場合にのみ適用されます |
| **モード**（必須） | 操作モード |
| **プライマリインデックスフィールド**（マージモードの場合は必須） | ターゲットテーブルのプライマリインデックスフィールド |
| **データ型マッピング**（オプション） | ターゲットテーブルフィールドを特定のデータ型にマップします。新しいテーブルを作成する場合にのみ適用されます |
| **バッチサイズ**（オプション） | 単一のバッチ挿入のサイズ |
| **新しいデータが空の場合、切り捨てをスキップしますか？**（オプション） | 読み込む新しいデータがない場合、切り捨て操作をスキップします |


## （オプション）その他の設定

- **オーディエンススタジオ**で[アクティベーションを作成](/products/customer-data-platform/audience-studio/activation/create-an-activation)して、セグメントデータをこのインテグレーションにエクスポートできます。
- [スケジュールジョブ](/products/customer-data-platform/data-workbench/queries/scheduled/scheduling-a-query)と結果エクスポートを使用して、定期的にデータをターゲット先にアップロードできます。


## （オプション）ワークフローを使用したエクスポートインテグレーション

Treasure ワークフローでは、データコネクタを使用してデータをエクスポートすることを指定できます。

詳細は[TDツールベルトを使用したワークフローでのデータのエクスポート](/tools/cli-and-sdks/api#workflow-commands)をご覧ください。

insertモードの場合


```yaml
_export:
   td:
      database: teradata

+teradata_export_task:
   td>: export.sql
   database: ${td.database}
   result_connection: new_created_teradata
   result_settings:
      type: teradata
      database: xxx
      table: xxxx
      table_type: set
      mode: insert
      column_options: col_1:VARCHAR(50), col_2:BIGINT
      batch_size: 16777216
```

truncateモードの場合


```yaml
_export:
   td:
      database: teradata

+teradata_export_task:
   td>: export.sql
   database: ${td.database}
   result_connection: new_created_teradata
   result_settings:
      type: teradata
      database: xxx
      table: xxxx
      table_type: set
      mode: truncate
      column_options: col_1:VARCHAR(50), col_2:BIGINT
      batch_size: 16777216
      skip_truncate_if_empty: true
```

mergeモードの場合


```yaml
_export:
   td:
      database: teradata

+teradata_export_task:
   td>: export.sql
   database: ${td.database}
   result_connection: new_created_teradata
   result_settings:
      type: teradata
      database: xxx
      table: xxxx
      table_type: set
      mode: merge
      column_options: col_1:VARCHAR(50), col_2:BIGINT
      batch_size: 16777216
      merge_keys: col_1,col_2
```

## （オプション）CLIを使用したエクスポートインテグレーション

CLI（ツールベルト）を使用してTeradataに結果をエクスポートすることもできます。

`td query`コマンドの`--result`オプションを使用して、アカウントにエクスポートするための情報を指定する必要があります。`td query`コマンドの詳細については、[この記事](/tools/cli-and-sdks/td-toolbelt-job-and-query-command-reference)を参照してください。

オプションの形式はJSONで、一般的な構造は以下の通りです。

insertモードの場合


```json
{
   "type": "teradata",
   "host": "xxxx",
   "port": 1025,
   "user": "xxx",
   "password": "xxx",
   "options": "{\\\"xxxx\\\": \\\"xxxx\\\"}",
   "connect_timeout": 30,
   "socket_timeout": 60,
   "database": "xxx",
   "table": "xxxx",
   "table_type": "set",
   "mode": "insert",
   "column_options": "col_1:VARCHAR(50), col_2:BIGINT",
   "batch_size": 16777216
}
```

truncateモードの場合


```json
{
   "type": "teradata",
   "host": "xxxx",
   "port": 1025,
   "user": "xxx",
   "password": "xxx",
   "options": "{\\\"xxxx\\\": \\\"xxxx\\\"}",
   "connect_timeout": 30,
   "socket_timeout": 60,
   "database": "xxx",
   "table": "xxxx",
   "table_type": "set",
   "mode": "truncate",
   "column_options": "col_1:VARCHAR(50), col_2:BIGINT",
   "batch_size": 16777216,
   "skip_truncate_if_empty": true
}
```

mergeモードの場合


```json
{
   "type": "teradata",
   "host": "xxxx",
   "port": 1025,
   "user": "xxx",
   "password": "xxx",
   "options": "{\\\"xxxx\\\": \\\"xxxx\\\"}",
   "connect_timeout": 30,
   "socket_timeout": 60,
   "database": "xxx",
   "table": "xxxx",
   "table_type": "set",
   "mode": "merge",
   "column_options": "col_1:VARCHAR(50), col_2:BIGINT",
   "batch_size": 16777216,
   "merge_keys": "col_1,col_2"
}
```

### パラメータ

| 名前 | 説明 | 型 | 値 | デフォルト値 | 必須 |
|  --- | --- | --- | --- | --- | --- |
| type | コネクタタイプ | string | teradata | 該当なし | はい |
| host | Teradataサーバーホスト | string | 該当なし | 該当なし | はい |
| port | Teradataサーバーポート | number | 該当なし | 1025 | はい |
| options | Teradata JDBCオプション | string（ハッシュオブジェクト形式） | 該当なし | 該当なし | いいえ |
| connect_timeout | Teradataログオンタイムアウト | number | 該当なし | 300 | いいえ |
| socket_timeout | ネットワークソケット操作タイムアウト | number | 該当なし | 1800 | いいえ |
| database | Teradataデータベース | string | 該当なし | 該当なし | はい |
| table_type | テーブルタイプ | string | サポート値：set, multiset | set | はい |
| table | テーブル名 | string | 該当なし | 該当なし | はい |
| mode | モード | string | サポート値：insert, truncate, merge | insert | はい |
| column_options | テーブルフィールドを特定のデータ型にマップ | string | 該当なし | 該当なし | いいえ |
| batch_size | 単一のバッチ挿入のサイズ | number | 該当なし | 16777216 | いいえ |
| merge_keys | ターゲットテーブルのプライマリインデックスフィールド | string | 該当なし | 該当なし | mergeモードの場合はい |
| skip_truncate_if_empty | 読み込む新しいデータがない場合、切り捨て操作をスキップする | boolean | true/false | false | いいえ |