17.10 - 構文 - Parallel Transporter

Teradata® Parallel Transporter リファレンス

Product
Parallel Transporter
Release Number
17.10
Published
2022年2月
Content Type
プログラミング リファレンス
Publication ID
B035-2436-061K-JPN
Language
日本語 (日本)
Last Update
2022-02-11

tdloadでは、次の構文を使用します。



ここで、jobOptionsは次のいずれかです。

構文要素 説明
AutoPickSessInstance ON/OFF TPT Easy Loaderに、セッション数およびインスタンス数を自動的に選択するように指示します。このオプションのデフォルト値はOFFです。

詳細については、<Teradata® Parallel Transporterユーザー ガイド, B035-2445>の「Teradata PT Easy Loaderでのセッションとインスタンスの自動選択」を参照してください。

-c characterSet フラット ファイルの文字セット エンコーディング。このオプションでクライアント セッション文字セットを設定します。

フラット ファイルがASCIIファイルではない場合は、このオプションを指定します。

-d "delimiterCharacter" 区切り形式のフラット ファイルでデータ レコードのフィールドを分離するために使用する区切り文字。
デフォルトの区切り文字はカンマ(,)です。 この点がTeradata PTスクリプトを使用する場合(パイプ文字(|)がデフォルトの区切り文字)と異なります。 フラット ファイルの区切り文字がカンマではない場合は、このオプションを指定する必要があります。
-f fileName 必須。ロード対象データを含むフラット ファイル名。

tdloadコマンドを実行しているのが、フラット ファイルが保存されているディレクトリではない場合は、fileNameには、フラット ファイルの完全修飾名が必要です。

  • -f (または、--SourceFileName)オプションと--SourceTableオプションは、相互に排他的です。

    これらのオプションの両方がtdloadコマンド ラインで指定された場合、エラーが返されます。

  • -f (または、--SourceFileName)オプションと--SelectStmtオプションは、相互に排他的です。

    これらのオプションの両方がtdloadコマンド ラインで指定された場合、エラーが返されます。

-h tdpId ネットワークで認識されているTeradata Data Warehouse Appliance 2xxxの名前。

このオプションを指定しない場合、デフォルトのホスト名が使用されます。

推奨事項:このオプションを指定すれば、正しいシステムに確実に接続できます。

-I ConfigurationFileName 次のファイルにアクセスできない場合に、目的の構成ファイルを指定します。
  • TPTインストール ディレクトリにあるグローバル構成ファイルtwbcfg.ini
  • ユーザーのホーム ディレクトリにあるローカル構成ファイル.twbcfg.ini
次のグローバル パラメータは、ユーザー指定の構成ファイルで定義できます。
  • GlobalAttributeFile
  • CheckpointDirectory
  • LogDirectory
これらのパラメータの定義は、次の構文を使って指定する必要があります。
<parameter> = <single-quoted string>
例えば、UNIXシステムでは:
CheckpointDirectory='/opt/teradata/client/16.20/tbuild/checkpoint'
LogDirectory='/opt/teradata/client/16.20/tbuild/logs'
-Iオプションは、WindowsおよびUNIXプラットフォームでのみサポートされます。
-j jobVariablesFile ジョブ変数ファイルの名前。

tdloadコマンドを実行しているのが、ジョブ変数ファイルが保存されているディレクトリではない場合は、jobVariablesFileに、完全修飾ファイル名が必要です。

ジョブ変数ファイルは、ASCII、UTF-8、またはUTF-16で保存でき、UTFバイト オーダー マーク付きとマークなしのどちらでも構いません。

-L jobLogDirectory ジョブの実行中に作成されたTeradata PTファイルの位置を指定するオプション。

jobLogDirectoryは、Teradata PTファイルが格納されているディレクトリのフルパス名です。

このオプションは、z/OSではサポートされません。

-p password 指定ユーザーのパスワード。

このオプションを指定しない場合、tdloadからパスワードの入力要求が表示されます。

- R restartLimit 自動(ジョブ)再始動時のデフォルトの試行回数である5回を上書きするオプション。

-Rを指定する場合、値を入力しないと、システムでコマンドが拒否され、エラーが返されます。

restartLimitの値は、ゼロ以上の任意の整数にすることができます。 値ゼロを指定すると、ジョブが自動的に再始動されなくなります。

-r checkpointDirectory チェックポイント ファイルが“CheckpointDirectory"というディレクトリに格納されることを指定するオプション。

-r オプションを指定しないと、チェックポイント ファイルは、デフォルトのチェックポイント ディレクトリに格納されます。このディレクトリは、Teradata PTの構成ファイルで定義されています。

-S このコマンドで生成されたTeradata PTスクリプトを保存します。
-t tableName 必須。 ターゲット テーブルの名前。
指定ユーザーのデフォルト データベースではないデータベースにターゲット テーブルがある場合は、--TargetWorkingDatabaseオプションも使用する必要があります。
-u userName 必須。ターゲット テーブルへのアクセス権限があるユーザーのログオンID。
-v ジョブを実行せずにtdloadのバージョン番号を表示するオプション。

他のオプションとともに使用しないでください。 このオプションは、UNIXおよびWindowsプラットフォームでのみ機能します。

-w restartWaitPeriod 再起動の時間間隔を秒単位で指定します。

このオプションを指定しないと、自動再起動と自動再起動の間に待機が行なわれません。

有効な再起動待機期間の値は、1から86400(秒)までの正の整数でなければなりません。

-x デバッグ処理を有効にします。
- z checkpointInterval チェックポイント間の時間間隔を秒単位で指定するオプション。

このオプションを指定しないと、間隔チェックポイント操作は実行されません。

チェックポイント間隔の有効な値は0~86400(秒)です。

--help ヘルプを表示します。
--DefaultStagingTable --DefaultStagingTableオプションは、NOPIステージング テーブルを作成して、ターゲット テーブルではなくステージング テーブルにデータをロードするように、TPT Easy Loaderに指示します。ステージング テーブルは、ターゲット データベース上に作成されます。

ステージング テーブルの名前は次のとおりです。

<target table>_STG

データがファイルからのものである場合、TPT Easy Loaderはターゲット テーブルからテーブル定義を取得し、VARCHAR以外の列を同等のVARCHAR列に変換して、すべてVARCHAR列で構成されたステージング テーブルを作成します。

これにより、データ変換エラーなどの問題やエラーを引き起こす可能性があるデータを、ステージング テーブルのVARCHAR列に読み込むことができます。

データがステージング テーブルに読み込まれると、必要なINSERT-SELECT文を作成して、ステージング テーブルからターゲット テーブルにデータを移動することができます。

データがソース テーブルからのものである場合、TPT Easy Loaderはソース テーブルからテーブル定義を取得し、VARCHAR以外の列を同等のVARCHAR列に変換して、すべてVARCHAR列で構成されたステージング テーブルを作成します。

データがソース テーブルのSELECTリクエストからのものである場合、TPT Easy LoaderはSELECTリクエストのスキーマを取得し、VARCHAR以外の列を同等のVARCHAR列に変換して、すべてVARCHAR列で構成されたステージング テーブルを作成します。

  • TPT Easy Loaderはステージング テーブルへのロードにLoadオペレータを使用します。その理由は、Loadオペレータは最速のプロトコル(FastLoad)を使用して、空のテーブルにデータをロードするためです。
  • ターゲット テーブルと"_STG"接尾辞の合計長がデータベースのテーブル名の最大サイズを超える場合、TPT Easy Loaderはターゲット テーブル名を切り捨ててから"_STG"接尾辞を追加します。これにより、ステージング テーブルの最終的な長さはデータベースのテーブル名の最大サイズ内に収まります。
  • ステージング テーブルは存在していてはなりません。ステージング テーブルがすでに存在する場合、TPT Easy Loaderはエラー メッセージを表示してジョブを終了します。
  • --DefaultStagingTableオプションを指定しないことで、ステージング テーブルにロードせずに直接ターゲット テーブルにロードすることができます。
  • --StagingTableオプションと--DefaultStagingTableオプションは、相互に排他的です。両方のオプションを指定した場合、TPT Easy Loaderはエラー メッセージを表示してジョブを終了します。
  • --DefaultStagingTableオプションをジョブ変数ファイルで指定することはできません。このオプションはコマンド ラインでのみ指定できます。ジョブ変数ファイルには値が必要ですが、--DefaultStagingTableオプションには値がありません。
--NoLoadSlot このオプションは、ロード スロットを使用しないようにTPT Easy Loaderに指示します。ソース マシンとターゲット マシンの2つが存在する場合は、その両方でこれが暗黙的に指示されます。そうでない場合は、ソースのみ、またはターゲットのみに指示されます。

このオプションは、任意のジョブ変数に"Load/Update/Export/Stream"プレフィックスを指定することで上書きできます。

--NoLoadSlot、--StagingTable、および--DefaultStagingTableオプションは、相互に排他的です。これらのオプションを指定した場合、TPT Easy Loaderは次のエラー メッセージを表示してジョブを終了します。
TPT_INFRA: TPT05565: エラー: --NoLoadSlotオプションは、--StagingTableおよび--DefaultStagingTableと相互に排他的です。
--NoLoadSlotオプションをジョブ変数ファイルで指定することはできません。このオプションはコマンド ラインでのみ指定できます。ジョブ変数ファイルには値が必要ですが、--NoLoadSlotオプションには値がありません。
<long_option>value Easy Loaderは、オペレータ テンプレート内で定義されているすべての標準ジョブ変数と、汎用ジョブ変数をサポートします。これらの汎用ジョブ変数は、オペレータ テンプレートから派生し、Easy Loaderが自動的にオペレータの意思決定を行なえるようにします。汎用ジョブ変数を作成するには、単にテンプレート ジョブ変数から演算子名を削除し、オペレータがプロデューサまたはコンシューマであるかどうかに応じて‘Source’または‘Target’を追加します。

例えば、Load演算子のトレース レベル ジョブ変数は“LoadTraceLevel"であり、これを汎用にするため“TargetTraceLevel"として指定します。LoadがEasy Loaderによって選択されたConsumerオペレータである場合、“TargetTraceLevel"はロード演算子に自動的にマップされます。

その他の例と手順については、<Teradata® Parallel Transporterユーザー ガイド, B035-2445>の「Teradata PT Easy Loader」セクションを参照してください。

一般的に使用されるlongオプションは次のとおりです。

Longオプション 説明
--InsertStmt "INSERT statement;" ローダーのオペレータに使用するInsert文。

tdload --InsertStmt "INSERT <table> (:COL1, :COL2);"

このオプションを使用すると、プロデューサからのデータを、送信元スキーマでの定義方法とは異なる順序で選択的に送信できます。これを使用しない場合は、$INSERTマクロが使用され、ソース テーブルのスキーマにターゲット テーブルのスキーマとの互換性がなければなりません。

--SelectStmt “SELECT statements;” SELECT文は、データベース テーブルからのデータ選択を実行します。

SELECT文にはスペースや空白文字が入力できるため、次のようにコマンド ラインに指定する場合、ステートメント全体を二重引用符(")で囲む必要があります。

tdload --SelectStmt "sel * from src_tbl;"

SELECT文要求では、次のような指定はできません。
  • USING修飾子の指定
  • SELECT DATEまたはSELECT USERなどのデータのないテーブルへのアクセス
  • テーブルのプライマリ インデックスまたは固有セカンダリ インデックスに基づいて行にアクセスするSELECT文など、1つまたは2つのAMPで満たされる
  • BLOB(バイナリ ラージ オブジェクト)またはCLOB(キャラクタ ラージ オブジェクト)のデータ型を含む
  • JSON(JavaScript Object Notation)のデータ型を含める
  • XMLデータ型を含める

--SelectStmtオプションと-f (または、--SourceFileName)オプションは、相互に排他的です。 これらの両方がtdloadコマンド ラインで定義された場合、エラーが返されます。

--SelectStmtオプションと-- SourceTableオプションの両方が定義されている場合、--SourceTableオプションは無視され、警告メッセージがコンソールに返されます。

--SourceAccountId accountId 指定ユーザーに関連付けられたアカウント。
--SourceConnectString "connectionString" テーブルからデータを抽出するときの接続文字列を指定します。接続文字列はCLIに渡され、CLIが接続文字列を検証します。

接続文字列の詳細については、<Teradata® Call-Level Interface Version 2リファレンス - ワークステーション接続システム, B035-2418>を参照してください。

--SourceDataEncryption On | Off テーブルからデータを抽出するときに、SQLリクエスト、応答、およびデータの完全暗号化を有効にします。
有効な値は次のとおりです。
  • On = すべてのSQLリクエスト、応答、およびデータが暗号化されます。
  • Off = 暗号化されません(デフォルト)。
このオプションには、ログオンの暗号化は含まれません。
--SourceFileName fileName 必須。ロード対象データを含むフラット ファイル名。
  • --SourceFileName (または、-f)オプションと--SourceTableオプションは、相互に排他的です。

    これらのオプションの両方がtdloadコマンド ラインで指定された場合、エラーが返されます。

  • --SourceFileName (または、-f)オプションと--SelectStmtオプションは、相互に排他的です。

    これらのオプションの両方がtdloadコマンド ラインで指定された場合、エラーが返されます。

--SourceInstances number データベースからデータの抽出に使用されるインスタンス数。

デフォルト値は1です。

--SourceMaxSessions number テーブルからのデータの抽出に使用されるセッションの最大数。

デフォルト値は32です。

--SourceMinSessions number テーブルからのデータの抽出に使用されるセッションの最小数。

デフォルト値は1です。

--SourceTable tableName ソース テーブルの名前。

注: 指定ユーザーのデフォルト データベースではないデータベースにソース テーブルがある場合は、--SourceWorkingDatabaseオプションも使用する必要があります。

--SelectStmtオプションと-f (または、--SourceFileName)オプションは、相互に排他的です。 これらの両方がtdloadコマンド ラインで指定された場合、エラーが返されます。

--SourceTableオプションと-- SelectStmtオプションの両方が定義されている場合、--SourceTableオプションは無視され、警告メッセージがコンソールに返されます。

--SourceTextDelimiter "delimiterCharacter" 区切り形式のフラット ファイルでデータ レコードのフィールドを分離するために使用する区切り文字。
--SourceTdpId tdpId ネットワークで認識されているデータベースの名前。
--SourceTraceLevel value フラット ファイルからデータを読み込むオペレータでトレース メッセージを有効にします。
有効な値は次のとおりです。
  • 'Yes' = tdloadは、'all'値を適切なオペレータの'TraceLevel'属性に設定します。
  • 'No' = トレース機能を無効にします(デフォルト)。
--SourceUserName userName ソース テーブルへのアクセス権があるユーザーのログオンID。
--SourceUserPassword password 指定ユーザーのパスワード。

このオプションを指定しない場合、tdloadからパスワードの入力要求が表示されます。

--SourceWorkingDatabase databaseName ソース テーブルが位置するデータベース。
--StagingTable stagingTableName --StagingTableオプションは、指定した<staging table name>のNOPIステージング テーブルを作成し、ターゲット テーブルではなくこのステージング テーブルにデータをロードするように、TPT Easy Loaderに指示します。

ステージング テーブルはターゲットのデータベース上に作成されます。

データがファイルからのものである場合、TPT Easy Loaderはターゲット テーブルからテーブル定義を取得し、VARCHAR以外の列を同等のVARCHAR列に変換して、すべてVARCHAR列で構成されたステージング テーブルを作成します。

これにより、データ変換エラーなどの問題やエラーを引き起こす可能性があるデータを、ステージング テーブルのVARCHAR列にロードできるようになります。

データがステージング テーブルに読み込まれると、必要なINSERT-SELECT文を作成して、ステージング テーブルからターゲット テーブルにデータを移動することができます。

データがソース テーブルからのものである場合、TPT Easy Loaderはソース テーブルからテーブル定義を取得し、VARCHAR以外の列を同等のVARCHAR列に変換して、すべてVARCHAR列で構成されたステージング テーブルを作成します。

データがソース テーブルのSELECTリクエストからのものである場合、TPT Easy LoaderはSELECTリクエストのスキーマを取得し、VARCHAR以外の列を同等のVARCHAR列に変換して、すべてVARCHAR列で構成されたステージング テーブルを作成します。

  • TPT Easy Loaderはステージング テーブルへのロードにLoadオペレータを使用します。その理由は、Loadオペレータは最速のプロトコル(FastLoad)を使用して、空のテーブルにデータをロードするためです。
  • ステージング テーブルは存在していてはなりません。ステージング テーブルがすでに存在する場合、TPT Easy Loaderはエラー メッセージを表示してジョブを終了します。
  • ステージング テーブルは、データベース名で修飾することができます。
  • --StagingTableオプションを指定しないことで、ステージング テーブルにロードせずに直接ターゲット テーブルにロードすることができます。
  • --StagingTableオプションと--DefaultStagingTableオプションは、相互に排他的です。両方のオプションを指定した場合、TPT Easy Loaderはエラー メッセージを表示してジョブを終了します。
  • --StagingTableオプションは、ジョブ変数ファイルで次のように指定できます。

    StagingTable = 'tablename'

    コマンド ラインで指定した--StagingTableオプションの値とジョブ変数ファイルで指定した--StagingTableオプションの値とでは、コマンド ラインで指定したオプションの値が優先されます。

--SharedMemorySize

--SharedMemorySizeオプションを使用すると、実行中のジョブに割り当てる共有メモリの量を指定できます。指定された値は、tbuildコマンドのオプション(-h)で使用されます。

Teradata PT Easy Loaderは、SharedMemorySizeの値のエラー チェックを実行しません。tdloadコマンドに指定された値は、tbuildコマンドにそのまま直接渡されます。
--TargetAccountId accountId 指定ユーザーに関連付けられたアカウント。
--TargetConnectString "connectionString" ロード ジョブでの接続文字列を指定します。接続文字列はCLIに渡され、CLIが接続文字列を検証します。

接続文字列の詳細については、<Teradata® Call-Level Interface Version 2リファレンス - ワークステーション接続システム, B035-2418>を参照してください。

--SourceDataEncryption On | Off テーブルからデータを抽出するときに、SQLリクエスト、応答、およびデータの完全暗号化を有効にします。
有効な値は次のとおりです。
  • On = すべてのSQLリクエスト、応答、およびデータが暗号化されます。
  • Off = 暗号化されません(デフォルト)。
このオプションには、ログオンの暗号化は含まれません。
--TargetErrorLimit number データ レコードで許可されるエラーの最大数。

発生したエラー数がこの数値を超えると、ロード ジョブは終了します。

デフォルト値は1です。

--TargetMaxSessions number ロード ジョブの中で使用されるセッションの最大数。

デフォルト値は32です。

--TargetMinSessions number ロード ジョブの中で使用されるセッションの最小数。

デフォルト値は1です。

--TargetTable tableName 必須。 ターゲット テーブルの名前。
--TargetTdpId tdpId ネットワークで認識されているデータベースの名前。
--TargetTraceLevel value ターゲット テーブルにデータをロードするオペレータでトレース メッセージを有効にします。
有効な値は次のとおりです。
  • 'Yes' = tdloadは、'all'値を適切なオペレータのTraceLevel属性に設定します。
  • 'No' = トレース機能を無効にします(デフォルト)。
--TargetUserName userName 必須。ターゲット テーブルへのアクセス権限があるユーザーのログオンID。
--TargetUserPassword password 指定ユーザーのパスワード。
--TargetWorkingDatabase databaseName ターゲット テーブルを含むデータベース。
指定ユーザーのデフォルト データベースではないデータベースにターゲット テーブルがある場合は、このオプションが必要です。
「--< long_option> value」は、汎用テンプレートまたはオペレータ テンプレートのいずれかのジョブ変数です。使用法の詳細については、<Teradata® Parallel Transporterユーザー ガイド, B035-2445>の「Teradata PT Easy Loader」セクションを参照してください。

構文規則:

オプション 指定内容
jobName ロード ジョブを識別する固有名。

推奨事項:複数のロード ジョブが同時に動作しているときは、自分のジョブに名前を付けることを強く推奨します。