順次Producerオペレータの設計 - Parallel Transporter

Teradata® Parallel Transporter Operator プログラマ ガイド

Product
Parallel Transporter
Release Number
17.10
Published
2021年6月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/igj1608578346674.ditamap
dita:ditavalPath
ja-JP/igj1608578346674.ditaval
dita:id
B035-2435
Product Category
Teradata Tools and Utilities

順次Producerオペレータ用のInitiate、Execute、およびTerminate関数をインプリメントする場合には、以下のプロセス ガイドラインを利用します。

順次Producerオペレータのインプリメント
関数 プロセス
Initiate
  1. Get Attribute関数を使って、シーケンシャル ファイルのパス名を取得する。
  2. このパス名を使ってファイルを開き、ファイル ハンドルを取得する。
  3. Allocate Storage関数を使って、ユーザー域を割り振る。
  4. ユーザー域にファイル ハンドルを保存する。
  5. Allocate Storage関数を使って、シーケンシャル ファイル内の最大サイズの行を保持できるデータ バッファ域を割り振る。
  6. ユーザー域に、データ バッファ アドレスとバッファ長を保存する。
  7. Put Attribute関数を使って、ユーザー域を保存する。
Execute
  1. 出力テーブル ハンドルを取得する。
  2. Get Attribute関数を使って、ユーザー域を取得する。
  3. ユーザー域から、ファイル ハンドルとデータ バッファ アドレスを取得する。
  4. ファイル ハンドルを使って、データ バッファに次の行を読み取る。
  5. Get Table Schema List関数を使って、出力データ スキーマを取得する。
  6. 読取りに成功した場合は、Put Row関数を使ってその行を出力データ ストリームに書き込み、PXSTC_SamePhaseステータスを返す。
  7. 読取り/書込みに失敗した場合は、不良ステータスを返す。
  8. ファイルの終わりに遭遇した場合は、PXSTC_EndOfDataまたはPXSTC_EndMethodステータスを返す。
Terminate
  1. Get Attribute関数を使って、ユーザー域を取得する。
  2. ユーザー域からファイル ハンドルを取得する。
  3. ファイル ハンドルを使って、シーケンシャル ファイルを閉じる。
  4. Free Storage関数を使って、データ バッファを解放する。
  5. Free Storage関数を使って、ユーザー域を解放する。