0

1 つのデータ セット、1 つの順次ファイル、およびそれらを結合するルックアップ ステージで構成される並列ジョブがあります。

順次ファイルには 15,811 行が含まれます。正常にインポートされます (これはログで確認できます)。

問題はルックアップ ステージにあり、次のエラーがスローされます。

LOOKUP,0: Could not map table file "/var/opt/ascential/adm/DataSet1/lookuptable.20140330.spzjazc (size 4191844864 bytes)": Not enough space
Error finalizing / saving table /tmp/dynLUT18950c3139ce

IBM Web サイトや他のフォーラムで読んだように、考えられる解決策はノード数を増やすことです。そこで、APT ファイルを 1 ノードから 6 ノードに変更しました。

{
        node "node1"
        {
                fastname "xxx"
                pools ""
                resource disk "/var/opt/ascential/adm/DataSet1" {pools ""}
                resource scratchdisk "/var/opt/ascential/adm/Scratch1" {pools ""}
        }
        node "node2"
        {
                fastname "xxx"
                pools ""
                resource disk "/var/opt/ascential/adm/DataSet2" {pools ""}
                resource scratchdisk "/var/opt/ascential/adm/Scratch2" {pools ""}
        }
        node "node3"
        {
                fastname "xxx"
                pools ""
                resource disk "/var/opt/ascential/adm/DataSet3" {pools ""}
                resource scratchdisk "/var/opt/ascential/adm/Scratch3" {pools ""}
        }
        node "node4"
        {
                fastname "xxx"
                pools ""
                resource disk "/var/opt/ascential/adm/DataSet4" {pools ""}
                resource scratchdisk "/var/opt/ascential/adm/Scratch4" {pools ""}
        }
        node "node5"
        {
                fastname "xxx"
                pools ""
                resource disk "/var/opt/ascential/adm/DataSet5" {pools ""}
                resource scratchdisk "/var/opt/ascential/adm/Scratch5" {pools ""}
        }
        node "node6"
        {
                fastname "xxx"
                pools ""
                resource disk "/var/opt/ascential/adm/DataSet6" {pools ""}
                resource scratchdisk "/var/opt/ascential/adm/Scratch6" {pools ""}
        }
}

それでも、同じエラーが発生し、ジョブが最初の DataSet フォルダーにのみ書き込みを行うことに気付きました (/var/opt/ascential/adm/DataSet1/lookuptable.20140330.spzjazc というファイルがあり、サイズが ~ に達するまで大きくなります) 4GB の場合、ジョブは失敗し、ファイルは削除されます)。

  1. ファイルが 1 つしかないため、ジョブは実際には複数のノードで実行されていないと思います。これは正しいです?4 GB の制限を克服できるように、6 つのノードすべてで強制的に実行するにはどうすればよいですか?

  2. これに対する他の回避策はありますか?

4

3 に答える 3

0

ルックアップ ステージは、少量のデータを処理するために使用する必要があります: 結合とルックアップ

シーケンシャル ファイルはシーケンシャル モード (1 つのノードのみを使用) で読み取られますが、シーケンシャル ファイルをデータセット ファイルに変換するジョブを追加できますか? データセット ファイルは並列モード (多数のノード) を使用します。

それ以外の場合は、結合ステージを使用できます。左のリンクは、右のリンクよりも多くのリソースを割り当てるため、ほとんどのデータを含むファイルに左のリンクを設定します。

于 2016-09-08T19:58:53.477 に答える
0

ランダムが正解です。

Datastage PX を使用して左結合をモデル化し、右側のテーブルのデータ ボリュームが大きいか予測できない場合は、ルックアップ ステージではなく結合ステージを使用する必要があります。

マージ ステージは特殊化/最適化された結合であり、ほとんどの人は必要とせず、使用すべきではありません。

于 2014-07-20T15:25:34.013 に答える