DataStage の ELT 実行モード
DataStage® を抽出、ロード、および変換 (ELT) 実行モードで使用すると、ターゲット・データベースで SQL 照会をより効率的に実行できます。
- ELT プロセスとは何ですか?
- DataStage?のELTランモードとは?
- 使用可能
- サポートされるコネクター
- サポートされるステージ
- 制限
- ELT 実行モードの有効化
- マテリアライズ・ポリシーの選択
- ELT 実行モードのデータベース・コネクター権限の設定
- dsjob コマンドを使用したコンパイル
- 例
ELT プロセスとは何ですか?
DataStage が使用する主なプロセスは、ETL (抽出、変換、およびロード) です。ETL (抽出、変換、およびロード) では、データがメモリーに読み込まれ、処理された後、ターゲットに書き込まれます。 DataStage では、すべてのジョブはデフォルトで ETL モードで実行されます。
抽出、ロード、および変換 (ELT) プロセスは、ソースからターゲット・データベースにデータを転送し、データベース自体に情報を準備します。 状況によっては、ELT プロセスを使用してターゲット・データベース内のデータを変換することをお勧めします。 例えば、特定のデータ・ソースまたはターゲットに既に存在する大規模なデータ・セットを変換する必要がある場合などです。
DataStageのELTのランモードは何ですか?
- ELT モードなし
- DataStage フローを SQL に変換できないと分析が判別した場合、ETL モードが使用され、 DataStage は PX ランタイム・エンジンでフローをコンパイルします。
- ELT モード
- DataStage フローを SQL に変換できると分析が判断した場合、ELT モードが使用され、 DataStage はフローを SQL にコンパイルします。
- ETL と ELT の混合モード
- DataStage フローを SQL に部分的にしか変換できないと分析が判断した場合は、必要に応じて ETL モードと ELT モードの両方が使用されます。
可用性
ELT 実行モードは、 DataStage Enterprise と DataStage Enterprise Plus の両方で使用できます。
サポートされるコネクター
- Amazon RDS for PostgreSQL
- Amazon Redshift
- Google BigQuery
- IBM Cloud® Databases for PostgreSQL
- IBM Db2®
- IBM Db2 for DataStage
- IBM Db2 on Cloud
- IBM® Db2 Warehouse
- Oracle
- PostgreSQL
- Snowflake
- Teradata
- DataStage 用の Teradata データベース
- watsonx.data
コネクター | モード | 制限 |
---|---|---|
Amazon Redshift | 混合 |
|
Google BigQuery | ELT |
|
IBM Db2 | ELT |
|
IBM Db2 最適化 | ELT |
|
Oracle | ELT |
|
サポートされるステージ
ステージ | モード | 制限 |
---|---|---|
Aggregator | 混合 |
|
コピー | ELT |
|
フィルター | 混合 |
|
Funnel | ELT |
|
結合 | ELT |
|
Lookup | 混合 |
|
Remove Duplicates | 混合 |
|
Sort | 混合 |
|
Transformer | 混合 |
|
制限
- ランタイム列伝搬が有効になっているフローはサポートされません。
- 表のアクションが CREATE または REPLACE の場合、暗黙的なデータ切り捨ては実行されません。
ELT 実行モードの有効化
- DataStage フローを開きます。
- ツールバーの設定アイコン「
」をクリックします。
- 「実行」 タブをクリックします。
- 「抽出、ロード、変換 (ELT)」をクリックします。 次に、「保存」をクリックします。
マテリアライズ・ポリシーの選択
- ネストされた SQL の生成
- 出力モデル (ターゲット表) のみがマテリアライズされます。 各出力モデルは、入力ノードから出力へのすべての変換を含む単一の照会によって表されます。
- 表としてリンク
- すべての統合フロー・リンクは表としてマテリアライズされます。 これらの表は一時的なものであり、ターゲット表が作成されると削除されます。
- ビューとしてリンク
- すべての統合フロー・リンクは、ビューとしてマテリアライズされます。 これらのビューは一時的なものであり、ターゲット表が作成されると削除されます。
- 拡張
- カーディナリティー・チェンジャーは表としてマテリアライズされます。 カーディナリティー・チェンジャーは、ルックアップ、結合、およびアグリゲーターなどのステージに基づいて接続されたノードのサブセットです。 これらのノードは、より効率的に構築し、反復計算を回避することで、リソースを節約するために結合されます。
ELT 実行モードのデータベース・コネクター権限の設定
- SELECT ステートメントからのビューの作成
- ビューの除去
- SELECT ステートメントからの表の作成
- テーブルのドロップ
- NULL 制約および主キーを追加するための表の変更
コネクターがカスタム SQL ステートメントを使用して構成されている場合、カスタム SQL ステートメントで使用される SQL 操作には追加の許可が必要です。
許可は、 DataStage および Cloud Pak for Dataの有効範囲外のデータベース管理者によって、対応するデータベース内で設定される必要があります。
dsjob コマンドを使用したコンパイル
cpdctl dsjob compile --project <project name> --enable-elt-mode
例
- PostgreSQL データ・ソース
- Sort ステージ
- Filter ステージ
- PostgreSQL データ・ターゲット
ELT モードを有効にするには、実行設定を開いて選択します。
ジョブが正常にコンパイルされると、コンパイル・ログに「full pushdown」というメッセージが 1 つ表示されます。 このメッセージは、フロー全体が ELT モードでコンパイルされたことを示します。
ジョブを実行します。 ジョブの実行中に、 PostgreSQL ソース・データは、ソートとフィルタリングを適用する SQL ステートメントを使用して変換されます。 結果は、 PostgreSQL ターゲット・コネクターで定義された表として保持されます。
ジョブ実行が終了し、変換されたすべてのデータがターゲット・データベースに保持されます。