17.10 - スキーマの定義 - Parallel Transporter

Teradata® Parallel Transporter ユーザー ガイド

Product
Parallel Transporter
Release Number
17.10
Release Date
2021年6月
Content Type
ユーザー ガイド
Publication ID
B035-2445-061K-JPN
Language
日本語 (日本)

Teradata PTでは、処理するデータの構造、つまりテーブルの行における列やファイル レコードにおけるフィールドをジョブ スクリプトで記述する必要があります。 この記述はスキーマと呼ばれます。 スキーマは、DEFINE SCHEMA文を使用して作成します。

DEFINE OPERATOR文のキーワードSCHEMAに続く値は、オペレータがジョブ データを処理するために使用するスキーマを識別します。 オペレータ定義で指定するスキーマは、あらかじめジョブ スクリプトで定義されている必要があります。 定義する必要があるスキーマの数を決定する場合、オペレータ定義(Standaloneオペレータを除く)でスキーマを参照する方法と理由については以下のような指針に従ってください。
  • Producerオペレータ定義で参照されるスキーマは、ソース データの構造を記述します。
  • Consumerオペレータ定義で参照されるスキーマは、ターゲットにロードするデータの構造を記述します。 ConsumerオペレータのスキーマはSCHEMA * (遅延スキーマ)としてコーディングできます。つまり、プロデューサから出力データのスキーマを受け取ります。
  • 複数のオペレータに同じスキーマを使用できる。
  • 1つのオペレータ内で複数のスキーマを使用することはできない。ただし、Filterオペレータの場合は、2つのスキーマ(入力と出力)を使用する。
  • Teradata PTスクリプトのスキーマ定義にある列名は、ターゲット テーブルの実際の列名と一致していなくても構いませんが、データ型は厳密に一致しなければなりません。
  • Teradata PTジョブでUTF-16の文字セットの文字データを処理する場合、すべてのCHAR(バイト カウント)、VARCHAR(バイト カウント)、CLOB(バイト カウント)、およびJSON(バイト カウント)スキーマ列に指定するバイト カウント値は、データベース テーブルの中の対応する列定義の文字カウント値の2倍になります。バイト カウントは偶数でなければなりません。
  • Teradata PTジョブでUTF-8の文字セットの文字データを処理する場合、すべてのCHAR(バイト カウント)、VARCHAR(バイト カウント)、CLOB(バイト カウント)、およびJSON(バイト カウント)スキーマ列に指定するバイト カウント値は、データベース テーブルの中の対応する列定義の文字カウント値の3倍になります。
  • Teradata PTは、UTF-8とUTF-16のエンコーディング タイプのバイト カウント値を自動調整できます。USING CHARACTER SET UTF8またはUTF16指定子がスクリプトの冒頭にある場合、文字列でDEFINE SCHEMAの直下にADJUST UNICODEキーワードを使用します。Teradata PTはバイト カウントの2倍および3倍を処理します。ADJUST UNICODEキーワードおよびUSING CHARACTER SETキーワードについては、<Teradata® Parallel Transporterリファレンス, B035-2436>を参照してください。
ジョブ スクリプト内でUTF-16文字セットを使用している場合、SCHEMA定義内のVARCHAR(n)およびCHAR(n)のnの値は正の偶数である必要があります。

以下はスキーマ定義の例です。