0 / 0
資料の 英語版 に戻る
ランタイム列伝搬 (Java 統合ステージ)

ランタイム列伝搬 (Java 統合ステージ)

IBM® DataStage® では、スキーマの一部を定義し、実際の実行時にメタデータに定義されていない追加の列がジョブで検出された場合に、それらの追加の列を採用してジョブの残りの部分に伝搬するように指定することができます。 このプロセスは、ランタイム列伝搬として知られています。

プロジェクトのランタイム列伝搬を有効にして、出力ページの 「列」 タブの個々のリンクに設定することができます。 ランタイム列伝搬を有効にするには、「ランタイム列伝搬」 のチェック・ボックスを選択します。

出力リンクへの列の追加

出力リンク上でランタイム列伝搬が有効になっている場合、ユーザー・コードはこの出力リンクに列を追加できます。 追加の列は、Processor.getAdditionalOutputColumns() メソッドで指定できます。このメソッドは、ランタイム列伝搬が有効になっている出力リンクごとに呼び出されます。

以下の例は、「charCol」および「intCol」という名前の列を指定の出力リンクに追加する方法を示しています。
public List<ColumnMetadata> getAdditionalOutputColumns
Link outputLink, List<Link> inputLinks, 
Properties stageProperties)
{
List<ColumnMetadata> addtionalColumns = new 
ArrayList<ColumnMetadata>();
ColumnMetadata charCol = new ColumnMetadataImpl
("charCol",ColumnMetadata.SQL_TYPE_CHAR);
addtionalColumns.add(charCol);
ColumnMetadata intCol = new ColumnMetadataImpl
("intCol",ColumnMetadata.SQL_TYPE_INTEGER);
addtionalColumns.add(intCol);
return addtionalColumns;
}
入力リンク 0 にはあるが、出力リンクにはない列を追加する場合は、 InputLink インターフェースの subtractColumnList() という名前の以下のヘルパー・メソッドを使用できます。

public List<ColumnMetadata> getAdditionalOutputColumns(Link outputLink, 
List<Link> inputLinks, Properties stageProperties)
{
return inputLinks.get(0).subtractColumnList(outputLink);^M
}

あるいは、JavaBean を使用して、実行時に出力リンク上に列定義を指定することもできます。 ランタイム列伝搬が使用可能になっている出力リンクでユーザー・コードが JavaBean を使用し、 JavaBean クラス「列マッピング」 プロパティーの両方が空の場合、Java™ Integration ステージは、指定された JavaBean クラスの Bean プロパティーから列を自動的に作成し、それらを出力リンクに追加します。

以下の表は、Java Integration ステージで作成される SQL タイプを要約したものです。 列の SQL タイプを上書きするには、出力リンクに対応する列定義を手動で追加します。
Java 型 SQL タイプ
byte[] バイナリー
boolean/java.lang.Boolean Bit
short/java.lang.Short TinyInt
int/java.lang.Integer SmallInt
double/java.lang.Double Double
float/java.lang.Float Float
long/java.lang.Long 整数
java.lang.String VarChar
java.math.BigInteger BigInt
java.math.BigDecimal 10 進数
java.sql.Date 日付
java.sql.Time 時刻
com.ibm.is.cc.javastage.api.TimeMicroseconds.class 時刻
java.sql.Timestamp タイムスタンプ
ステージに単一の入力リンクと 1 つ以上の出力リンクがある場合、Java Integration ステージは、RCP が有効になっている出力リンクに存在しない入力リンク上のすべての列を自動的に追加します。

入力から出力への列データの転送

Java Integration ステージ API は、列メタデータを実行時に動的に照会し、データにアクセスする機能を提供します。 入力リンク上の伝搬された列のデータを読み取るコードを作成し、RCP が有効になっている出力リンクにそれらを書き込む必要があります。

また、Java Integration ステージは、ステージに単一の入力リンクと 1 つ以上の出力リンクがある場合に、入力リンクから出力リンクに列データを自動的に転送する機能も提供します。 この場合、入力リンク上で伝搬された列のデータを転送するためにユーザー・コードは必要ありません。 詳しくは、Java Integration ステージ API の Javadoc 情報の com.ibm.is.cc.javastage.api.ColumnTransferBehavior クラスを参照してください。

生成 AI の検索と回答
これらの回答は、製品資料の内容に基づいて、 watsonx.ai のラージ言語モデルによって生成されます。 詳細