0 / 0
資料の 英語版 に戻る
DataStage での Lookup ステージ

Lookup ステージ

Lookup ステージは、データを出力できる他のパラレル・ジョブ・ステージからメモリーに読み込まれるデータ・セットに対するルックアップ操作を実行するために使用されます。 ルックアップの最も一般的な用途は、入力データ・セットの短いコードをルックアップ・テーブルにマッピングして、拡張情報を取得することです。その情報は入力データに結合され、出力されます。

Lookup ステージは処理ステージです。 データを出力する他のパラレル・ジョブ・ステージからメモリーに読み取られたデータ・セットに対してルックアップ処理を実行する場合に使用します。 また、データベース内、または Lookup ファイル・セット・ステージに含まれているルックアップ・テーブル内で、直接ルックアップを実行することもできます。

ルックアップの最も一般的な用途は、入力データ・セット内の短いコードを、ルックアップ・テーブルからの拡張情報にマップすることです。その後、ルックアップ・テーブルは着信データおよび出力に結合されます。 例えば、米国のお客様の名前と住所を含む入力データ・セットがあるとします。 表示されるデータには、2 文字の U. S 状態の郵便番号としての状態が示されますが、データは状態のフルネームを保持する必要があります。 状態に一致するコードのリストを保持するルックアップ・テーブルを定義し、そのコードをキー列として定義することができます。 Lookup ステージは、各行を読み取る際に、そのキーを使用してルックアップ・テーブルで州をルックアップします。 これによって、出力リンクに定義した新しい列に州が追加され、州のフルネームが各住所に追加されます。 データ・セットに誤った州コードが入力されていた場合、コードがルックアップ・テーブルに見つからず、レコードはリジェクトされます。

ルックアップは、行の検証にも使用できます。 キーの値に対応するエントリーがルックアップ・テーブルにない場合、その行は拒否されます。

Lookup ステージは、キー列の値に基づいて表を結合する 3 つのステージの 1 つです。 ほかに次の 2 つのステージがあります。

3 つのステージの主な違いは、使用するメモリー、一致しないキーを持つ行の処理、および入力されるデータの要件 (ソートされているかどうかなど) です。 使用するステージの決定については、 「Lookup Versus Join」を参照してください。

Lookup ステージには、参照リンク、1 つの入力リンク、1 つの出力リンク、1 つのリジェクト・リンクを設定できます。 ルックアップ情報を提供するステージのタイプと設定に応じて、複数の参照リンクを持つことができます ( Db2 表または Oracle 表を直接検索する場合は、単一の参照リンクのみを持つことができます)。 ルックアップ操作のセットアップの多くは、ルックアップ・テーブルを提供するステージで行われます。

入力リンクは、ソース・データ・セットからのデータを保持し、プライマリー リンクと呼ばれます。

1 次リンクからのソース・データ・セットのレコードごとに、Lookup ステージは、参照リンクによって付加された各ルックアップ・テーブルでテーブル・ルックアップを実行します。 表のルックアップは、ルックアップ・キー 列のセットの値に基づいています。各表に対して 1 セットずつ指定します。 キーは Lookup ステージで定義されます。 Lookup File Set ステージを経由してアクセスされるデータをルックアップする場合は、ルックアップ・ファイル・セットを作成したときにキーが作成されます。

参照リンクで接続されるステージの両方に条件を指定できます (例えば、条件が満たされた場合のみ、ステージがその参照リンクでルックアップを実行するなど)。

Lookup ステージは、入力リンクまたは参照リンクのデータのソートを必要としません。 ただし、大容量のルックアップ・テーブルをメモリー内ルックアップすると、 ページングが要求されるためパフォーマンスが低下する恐れがあるので注意してください。

出力 データ・セットの各レコードには、ソース・レコードの列と、対応するソース・レコードとルックアップ・レコードがルックアップ・キー列に対して同じ値を持つ、すべての対応するルックアップ・レコードの列が含まれています。 ルックアップ・キー列は、1 次リンクおよび参照リンクで同じ名前を持つ必要はありません。

オプションの リジェクトリンクには、入力ルックアップ・テーブル内に対応するエントリーがないソース・レコードが含まれています。

また、範囲ルックアップを実行することもできます。これは、ソース列の値を 2 つのルックアップ・テーブル列の間の値の範囲に比較します。 ソース列の値が 必要な範囲の中にある場合、行は出力リンクに渡されます。 代わりに、ルックアップ列の値を 2 つのソース列の間の値の範囲と比較することもできます。 範囲ルックアップは、定数値でなく、列の値に基づいて 実行しなければなりません。 複数の範囲がサポートされます。

Lookup ステージでのパーティションに関する特別な考慮事項がいくつかあります。 ルックアップ・テーブルでルックアップされるデータが、このデータを参照する入力データと同じパーティションにあるようにする必要があります。 1 つの方法として、「全体」を使用してルックアップ・テーブルをパーティション化します。 もう 1 つの方法は、入力データと同じ方法でパーティション化します (これにはデータのソートが含まれます)。

DataStage® Lookup ステージでの作業例については、以下のビデオをご覧ください。

このビデオは、この資料の概念とタスクを学習するための視覚的な方法を提供します。

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