# 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。列名はエクスポート結果のフィールド名と一致する必要があります。 ### パラメータを指定して接続を設定する TDコンソールに移動します。**データワークベンチ** > **クエリ**に移動します。データのエクスポートに使用するクエリにアクセスします。 クエリエディタの上部にある**エクスポート結果**を選択します。 インテグレーション選択ダイアログが開きます。結果のエクスポートに使用する接続を選択する際に、次の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 Workflowでは、データコネクタを使用してデータをエクスポートすることを指定できます。 詳細は[TDツールベルトを使用したワークフローでのデータのエクスポート](https://api-docs.treasuredata.com/en/tools/cli/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 | いいえ |