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 つしかないため、ジョブは実際には複数のノードで実行されていないと思います。これは正しいです?4 GB の制限を克服できるように、6 つのノードすべてで強制的に実行するにはどうすればよいですか?
これに対する他の回避策はありますか?