Skip to content
Last updated

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

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

前提条件

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

新しい認証の作成

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

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

  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/Teradatastringdoublelongbooleantimestampjson
BYTEINTyesyesyesyesnono
SMALLINTyesyesyesyesnono
INTEGERyesyesyesyesnono
BIGINTyesyesyesyesyes (EpochMilli)no
FLOATyesyesyesyesnono
DECIMALyesyesyesyesnono
VARCHARyesyesyesyesyesyes
CHARyesyesyesyesyesyes
CLOByesyesyesyesyesyes
DATEyes (format yyyy-MM-ddが必要)noyes (EpochMilliが必要)noyesno
TIMEyes (format HH:mm:[ss]が必要)noyes (EpochMilliが必要)noyesno
TIMESTAMPyes (format yyyy-MM-ddTHH:mm:ssZが必要)noyes (EpochMilliが必要)noyesno

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

データ型マッピング

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

TD結果Teradata
jsonVARCHAR (1000)
stringVARCHAR (500)
doubleFLOAT
longBIGINT
timestampTIMESTAMP
booleanBYTEINT

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

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

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

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

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

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

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

  1. 既存の接続を使用する 検索ボックスに接続名を入力して、接続をフィルタリングして選択します。

    ダイアログが開きます: Insert モード

    Truncate モード

    Merge モード

  2. 新しいTeradata接続を作成する。 新規インテグレーションを選択し、タイプドロップダウンからTeradataを選択します。以下が表示されます:

    新しい接続のTeradata情報を入力します。次に「次へ」をクリックします。

設定パラメータ

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

(オプション)その他の設定

  • オーディエンススタジオアクティベーションを作成して、セグメントデータをこのインテグレーションにエクスポートできます。
  • スケジュールジョブと結果エクスポートを使用して、定期的にデータをターゲット先にアップロードできます。

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

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

詳細はTDツールベルトを使用したワークフローでのデータのエクスポートをご覧ください。

insertモードの場合

_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モードの場合

_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モードの場合

_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コマンドの詳細については、この記事を参照してください。

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

insertモードの場合

{
   "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モードの場合

{
   "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モードの場合

{
   "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コネクタタイプstringteradata該当なしはい
hostTeradataサーバーホストstring該当なし該当なしはい
portTeradataサーバーポートnumber該当なし1025はい
optionsTeradata JDBCオプションstring(ハッシュオブジェクト形式)該当なし該当なしいいえ
connect_timeoutTeradataログオンタイムアウトnumber該当なし300いいえ
socket_timeoutネットワークソケット操作タイムアウトnumber該当なし1800いいえ
databaseTeradataデータベースstring該当なし該当なしはい
table_typeテーブルタイプstringサポート値:set, multisetsetはい
tableテーブル名string該当なし該当なしはい
modeモードstringサポート値:insert, truncate, mergeinsertはい
column_optionsテーブルフィールドを特定のデータ型にマップstring該当なし該当なしいいえ
batch_size単一のバッチ挿入のサイズnumber該当なし16777216いいえ
merge_keysターゲットテーブルのプライマリインデックスフィールドstring該当なし該当なしmergeモードの場合はい
skip_truncate_if_empty読み込む新しいデータがない場合、切り捨て操作をスキップするbooleantrue/falsefalseいいえ