0 / 0
資料の 英語版 に戻る

波の終わりについての考察(DataStage)

最終更新: 2025年3月12日
DataStage でのウェーブの終わりに関する考慮事項

DataStage® パラレル・ジョブでは、一部のステージは、作業単位またはトランザクションの終了を示すウェーブの終わりマーカー (EOW) を送信できます。 入力リンクから抽出されたすべてのレコードが作業単位 (単一ウェーブと呼ばれる) に含まれている場合、Excel ステージは、すべてのレコードが書き込まれるまで、最大数のレコードを含む Microsoft Excel シートを生成します。

例えば、Excel ステージに DSLink1 と DSLink2 という 2 つの入力リンクがあるとします。 DSLink1 は Sheet1 に関連付けられ、DSLink2 は Sheet2 に関連付けられています。 シート内のレコードの最大数は 65,536 であり、DSLink1 には 100,000 個のレコード、DSLink2 には 150,000 個のレコードがあります。 各シートの最初の行に列名はありません。 この場合、各ファイルの各シートに次の数のレコードが含まれます。
ファイル名 Sheet1 Sheet2
Workbook001.xlsx 65,536 65,536
Workbook002.xlsx 34,464 65,536
Workbook003.xlsx 0 18,928
入力リンクから抽出されたレコードが複数の作業単位 (複数ウェーブと呼ばれる) に分割されている場合、ウェーブ内のレコード数が少なくとも 1 つのシートで最大数を超えると、Excel ステージは Microsoft Excel シートへのレコードの書き込みを停止し、新しい Microsoft Excel ファイルを作成します。 Excel ステージでは、シートに追加のレコードを含めることができる場合でも、次のウェーブのレコードは前のファイルに書き込まれません。 例えば、各リンクの各ウェーブに以下の数のレコードが含まれているとします。
ウェーブ番号 DSLink1 DSLink2
1 90,000 50,000
2 5,000 90,000
3 5,000 10,000

最初のウェーブで、Excel ステージは Workbook001.xlsx という名前の Microsoft Excel ファイルを作成します。このファイルには、Sheet1Sheet2 という 2 つのシートがあります。 この Excel ステージは、DSLink1 から抽出されたレコードを最大数のレコード (65,536) を読み取るまで Sheet1 に書き込み、DSLink2 からのすべてのレコード (50,000) を Sheet2 に書き込みます。 次に、Excel ステージは Workbook002.xlsx という名前の Microsoft Excel ファイルを作成し、DSLink1 からの最初のウェーブの残りのレコード (24,464) と 2 番目のウェーブのすべてのレコード (5,000) を Sheet1 に書き込まれます。 Workbook001.xlsxSheet2 が最大レコード数を超えていない場合でも、Excel ステージは、DSLink2 から抽出された 2 番目のウェーブのレコード (65,536) を、Workbook001.xlsx ではなく Workbook002.xlsxSheet2 に書き込みます。 DSLink2 からの 2 番目のウェーブのレコード数が最大数を超えている場合、Excel ステージは Workbook003.xlsx という名前の Microsoft Excel ファイルを作成し、DSLink2 からの 2 番目のウェーブの残りのレコード (24,464) を Workbook003.xlsxSheet2 に書き込みます。 3 番目のウェーブについては、両方のシートに十分なスペースがあるため、Excel ステージは、DSLink1 から抽出したレコード (5,000) および DSLink2 から抽出したレコード (10,000) をすべて Workbook003.xlsxSheet1 および Sheet2 に書き込みます。

その結果、各ファイルの各シートには、以下の数のレコードが書き込まれます。
ファイル名 Sheet1 Sheet2
Workbook001.xlsx 65,536 (1 番目のウェーブから) 50,000 (1 番目のウェーブから)
Workbook002.xlsx 29,464 (1 番目のウェーブからの 24,464 + 2 番目のウェーブからの 5,000) 65,536 (2 番目のウェーブから)
Workbook003.xlsx 5,000 (3 番目のウェーブから) 34,464 (2 番目のウェーブからの 24,464 + 3 番目のウェーブからの 10,000)