この Topic では、MaxCompute MapReduce の制限について説明します。これらの制限に違反すると、ビジネスに影響が及ぶ可能性があります。
次の表に、MaxCompute MapReduce の制限をまとめます。
境界名 | 値の範囲 | 分類 | 設定項目 | デフォルト値 | 設定可能 | 説明 |
インスタンスが占有するメモリ | [256 MB, 12 GB] | メモリ制限 |
| 2,048 MB + 1,024 MB | はい | 単一の map または reduce インスタンスが占有するメモリ。メモリは、デフォルトで 2,048 MB のフレームワークメモリと、デフォルトで 1,024 MB の Java 仮想マシン (JVM) ヒープメモリの 2 つの部分で構成されます。 |
リソース数 | 256 | 数量制限 | - | N/A | いいえ | 1 つのジョブで参照できるリソースは最大 256 個です。各テーブルまたはアーカイブは 1 つのリソースとしてカウントされます。 |
入力数と出力数 | 1,024 および 256 | 数量制限 | - | N/A | いいえ | 1 つのジョブの入力数は 1,024 を超えることはできず、出力数は 256 を超えることはできません。テーブルの 1 つのパーティションは 1 つの入力としてカウントされます。異なるテーブルの総数は 64 を超えることはできません。 |
カウンター数 | 64 | 数量制限 | - | N/A | いいえ | 1 つのジョブのカスタムカウンターの数は 64 を超えることはできません。グループ名とカウンター名に番号記号 (#) を含めることはできません。2 つの名前を合わせた長さは 100 文字を超えることはできません。 |
map インスタンス数 | [1, 100000] | 数量制限 | odps.stage.mapper.num | N/A | はい | 1 つのジョブの map インスタンス数は、分割サイズに基づいてフレームワークによって計算されます。入力テーブルが指定されていない場合、`odps.stage.mapper.num` パラメーターを設定して map インスタンス数を指定できます。値は [1, 100000] の範囲内である必要があります。 |
reduce インスタンス数 | [0, 2000] | 数量制限 | odps.stage.reducer.num | N/A | はい | デフォルトでは、1 つのジョブの reduce インスタンス数は map インスタンス数の 4 分の 1 です。[0, 2000] の範囲の値を最終的な reduce インスタンス数として設定できます。場合によっては、reduce インスタンスが map インスタンスよりもはるかに多くのデータを処理することがあり、これにより reduce フェーズが遅くなります。1 つのジョブには最大 2,000 の reduce インスタンスを含めることができます。 |
再試行回数 | 3 | 数量制限 | - | N/A | いいえ | 失敗した map または reduce インスタンスは最大 3 回再試行されます。一部の再試行不可能な例外により、ジョブは直接失敗します。 |
ローカルデバッグモード | 最大 100 インスタンス | 数量制限 | - | N/A | いいえ | ローカルデバッグモードでは:
|
リソースの繰り返し読み取り回数 | 64 | 数量制限 | - | N/A | いいえ | 1 つの map または reduce インスタンスは、同じリソースを最大 64 回読み取ることができます。 |
リソースサイズ | 2 GB | 長さ制限 | - | N/A | いいえ | 1 つのジョブで参照されるリソースの合計サイズは 2 GB を超えることはできません。 |
分割サイズ | 1 以上 | 長さ制限 | odps.stage.mapper.split.size | 256 MB | はい | フレームワークは、指定された分割サイズに基づいて map インスタンスの数を決定します。 |
STRING 型列のコンテンツ長 | 8 MB | 長さ制限 | - | N/A | いいえ | MaxCompute テーブルの STRING 型列のコンテンツ長は 8 MB を超えることはできません。 |
ワーカー実行タイムアウト | [1, 3600] | 時間制限 | odps.function.timeout | 600 | はい | map または reduce ワーカーがデータの読み書きを行わず、 |
MapReduce で参照されるテーブルリソースでサポートされるフィールドタイプ | BIGINT、DOUBLE、STRING、DATETIME、および BOOLEAN | データ型制限 | - | N/A | いいえ | MapReduce タスクがテーブルリソースを参照するときに、テーブルにサポートされていないデータ型のフィールドが含まれている場合、エラーが報告されます。 |
MapReduce は OSS からデータを読み取れますか? | - | 機能制限 | - | N/A | いいえ | MapReduce は OSS からデータを読み取ることができません。 |
MaxCompute V2.0 の新しいデータ型のサポート | - | 機能制限 | - | N/A | いいえ | MapReduce は MaxCompute V2.0 の新しいデータ型をサポートしていません。 |
スキーマが有効になっているプロジェクトでは、MaxCompute MapReduce ジョブはサポートされていません。プロジェクトをアップグレードして スキーマをサポート するようにした場合、MaxCompute MapReduce ジョブを実行できなくなります。