0 / 0
資料の 英語版 に戻る
DataStage でのデータのパーティション化と収集
最終更新: 2024年11月07日
DataStageでのデータのパーティショニングと収集

「入力」タブがある DataStage® ステージまたはコネクターの 「パーティション」 セクションを使用して、データを処理したりデータ・ターゲットに書き込んだりする前に、ステージまたはコネクターが現在のリンク上でどのようにデータをパーティション化または収集するかについての詳細を指定します。

データ・パーティション化は、レコード・セットをパーティションまたはレコードのサブセットに分割することを伴う並列処理のアプローチです。 リソース制約やその他のデータ・スキューの問題が存在しない場合、データ・パーティショニングによってアプリケーションのパフォーマンスを線形に向上させることができます。 DataStage は、ステージが必要とするパーティションのタイプに基づいて、自動的にデータをパーティション化します。

パーティショニングセクションを使用して、データが処理される前、またはデータ・ターゲットに書き込まれる前に入力リンクに到着するデータをソートすることもできます。 ソートの可用性は、選択されるパーティション方式または収集方式によって異なります。 これは、自動メソッドでは使用できません。 パーティショニングセクションには、基本的なソート機能が用意されています。 より複雑なソート操作は、Sort ステージを使用してください。

パーティショニングセクションには、以下のコントロールとフィールドが含まれています。
パーティション
リストからパーティション・タイプを選択します。
「パーティション・タイプ」リストは、「ステージ」タブで「実行モード」がパラレルに設定されている場合に使用できます。 リストからメソッドを選択すると、メソッドは現在のパーティショ二ング・メソッドをオーバーライドします。
以下のパーティション・タイプを使用できます。
(自動)
実行時に、エンジンは、以下に応じて最適なパーティション・メソッドを試します。
  • 現在のステージと先行ステージが、順次モードまたはパラレル・モードのどちらで実行するように設定されているか。
  • ジョブの前のステージにパーティションの保持オプションが設定されているかどうか。
  • 構成ファイルに指定されているノードの数。
ほとんどのステージでは「自動」がデフォルトの方式ですが、「ルックアップ・ファイル・セット」ステージまたはDb2 Enterpriseステージでは「自動」を使用できません。
DB2 Connector
このパーティション・タイプは、 IBM Db2 for DataStage コネクターでのみ使用可能です。 このメソッドを指定すると、コネクターは、 パーティション読み取りメソッド > 「表名」 プロパティーで指定されたテーブル内のパーティションの数を判別し、パーティションの数と一致するようにノードの数を動的に構成します。 Db2® for LUW (Linux、Unix、および Windows) 表の場合、この数値は、表内の DPF (Database Partitioning Feature) パーティションの数です。 Db2 for z/OS® 表の場合、この数は表内の表パーティションの数です。 コネクターは、各ノードを 1 つのパーティションに関連付けます。 コネクターは、ノードごとに、そのノードに関連付けられているパーティションに属する行を読み取ります。
全体
すべての処理ノードがデータ・セット全体を受け取ります。
ランダム
行は、乱数発生ルーチンの出力に基づいて、ランダムに分割されます。
ラウンドロビン
行は、ステージに入るときにラウンドロビン・ベースでパーティション化されます。
同じ
このメソッドは、現行データのパーティションを保持します。
モジュラス
行は、キー列でモジュラス関数を使用してパーティション化されます。
ハッシュ
行は、1 つ以上のキー列の値に基づいてパーティションにハッシュされます。
範囲
この方式では、1 つ以上のパーティション・キーに基づいて、データ・セットをほぼ同じサイズのパーティションに分割します。 範囲パーティションは、データ・セット全体のソートを実行するための準備ステップとしてよく使用されます。
収集中
リストから収集タイプを選択します。

「収集タイプ」リストは、ステージが順次モードで実行するように設定されており、先行ステージがパラレル・モードで実行するように設定されている場合に使用できます。 リストからメソッドを選択すると、メソッドはデフォルトのコレクション・メソッド、「自動」をオーバーライドします。

以下のコレクション・タイプを使用できます。
(自動)
自動メソッドでは、通常、ステージは、行が使用可能になると、ステージに任意の入力パーティションから任意の行を読み取らせるので、最も速い収集メソッドになります。 ただし、一部の環境では、「自動」が設定されていると、ステージは異なる収集メソッドを使用できます。 例えば、ステージが操作前にデータをソートする必要がある場合、ステージはデータをソートします。
順次
このメソッドは、最初のパーティションからすべての行を読み取り、次に 2 番目のパーティションからのすべての行を読み取り、と続けます。
ラウンドロビン
このメソッドは、最初の入力パーティションから行を読み取り、次に 2 番目のパーティションから行を読み取り、と続けます。 最後のパーティションに到達すると、ステージは最初のパーティションから再度開始されます。
ソート・マージ
このメソッドは、行の 1 つ以上の列に基づく順序で行を読み取ります。
ソート
これらのコントロールを使用して、データのソート方法を指定します。 データは常にデータ・パーティション内でソートされます。 ステージが入力データをパーティショ二ングしている場合、データはパーティショ二ングの後でソートされます。 ステージが着信データを収集する場合、データは収集前にソートされます。
Sort
リンクに入ってくるデータをソートするには、ソートの実行を選択します。
ステーブル
以前にソートしたデータ・セットを保存する場合は、「安定」 を選択します。 「安定」はデフォルト設定です。
固有
ソート・キー値ごとに1つのレコードのみを保持する場合は、ユニークを選択します。 複数のレコードが同一のソート・キー値を持つ場合、1つを除くすべてのレコードが破棄されます。 継続的ソートも設定されている場合、ソート・キー値を持つ最初のレコードが、保存されるレコードになります。

DataStageで動的に生成される構成ファイル

DataStageは、ユーザーが作成した設定ファイルをサポートしていません。 動的に生成されるコンフィギュレーション・ファイルのパーティション数は、実行環境のパーティション数を設定するか、環境変数「APT_WLM_PARTITION_COUNT」にパーティション数を設定することで指定できる。