大型のルックアップテーブルを処理 - 7.2

Data Integrationジョブの例

Version
7.2
Language
日本語 (日本)
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for ESB
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > ジョブデザイン

この記事では、具体的なユースケースを示し、Talend Studioで問題を処理する方法について説明します。

このシナリオでは、テーブル内に数億のレコードを持つソーステーブルがあり、この入力データは、別のデータベースに同様に数億のレコードを持つテーブルからのデータをルックアップするために使用されます。ルックアップデータと結合されたソースデータは、ターゲットテーブルに挿入されるか、またはそこで更新されます。

前提条件

  1. ソーステーブルとルックアップテーブルには、結合条件に使用できる共通のカラムがあります。
  2. ソーステーブルとルックアップテーブルは、異なるRDBMシステム内にあります。

問題の説明

ソースデータをcustテーブルから読み込み、location_idカラムを使用してCUST_LOCATIONSテーブルをルックアップする単純なジョブを持っています。これはtMapで行われています。

このジョブを実行すると、ルックアップデータ(7000万行)全体をメモリに読み込む途中でメモリ不足になります。このジョブはロードが小型の場合はうまくいきますが、ソーステーブルとルックアップテーブルに億単位のレコードがある場合には、非常に非効率的です。

ルックアップが大きい場合は、[Store] (保管)一時データをtrueに設定することを推奨します。

ですが、このシナリオではまだ十分ではありません。