サービスが中断されることのないよう、制限事項を考慮する必要があります。ここでは MaxCompute MR の制限事項について概要を説明します。
MaxCompute MapReduce の制限事項は以下のとおりです。
制限事項 | 値 | タイプ | 設定項目 | デフォルト値 | 設定可能かどうか | 説明 |
---|---|---|---|---|---|---|
インスタンスのメモリ占有量 | [256MB,12GB] | メモリ制限 | odps.stage.mapper(reducer).mem と odps.stage.mapper(reducer).jvm.mem | 2048 MB + 1024 MB | 可能 | メモリは、フレームワークメモリ (デフォルトでは 2,048 MB) と JVM (Java 仮想マシン) のヒープメモリ (デフォルトでは 1,024 MB) を含む、単一の map インスタンスまたは reduce インスタンスによって占有されます。 |
リソース数 | 256 | 数制限 | N/A | なし | 不可 | 1 つのジョブによって参照されるリソースの数は 256 を超えません。 テーブルとアーカイブは 1 単位とみなされます。 |
入出力数 | 1024 と 256 | 数制限 | N/A | なし | いいえ | 1 つのジョブの入力数は 1024 を超えません。 (テーブルのパーティションは 1 つの入力と見なされます。 入力テーブルの数は 64 を超えません)。 1 つのジョブの出力数は 256 を超えません。 |
カウンター数 | 64 | 数制限 | N/A | なし | 不可 | 1 つのジョブのカスタムカウンターの数は 64 を超えません。 カウンターのグループ名とカウンター名には # を含むことはできません。 カウンターのグループ名とカウンター名の全体の文字数は 100 文字以内である必要があります。 |
map インスタンス | [1,100000] | 数制限 | odps.stage.mapper.num | なし | 可能 | 1 つのジョブの map インスタンス数は、分割サイズに基づいたフレームワークによって計算されます。 入力テーブルがない場合は、値を直接 odps.stage.mapper.num に設定します。 最終的な範囲は 1 から 100,000 です。 |
reduce インスタンス | [0,2000] | 数制限 | odps.stage.reducer.num | なし | 可能 | 1 つのジョブの reduce インスタンスの数は、デフォルトでは map インスタンスの 1/4 です。 reduce インスタンス数を、0 から 2,000 の範囲で設定します。reduce によって処理されるデータ量は、map によって処理されるデータ量の数倍になる可能性があります。 この場合は、reduce フェーズ は遅くなり、最大で2000のインスタンスを開始します。 |
リトライ回数 | 3 | 数制限 | N/A | なし | 不可 | 単一の map インスタンスまたは reduce インスタンスに許可されているリトライ回数は、最大で 3 回です。 リトライを許可しない一部の例外は、タスク実行が失敗する原因となる可能性があります。 |
ローカルデバッグモード | 100 | 数制限 | N/A | なし | 不可 | ローカルデバッグモードでは、map インスタンスの数はデフォルトで 2 で、100 を超えません。 redece インスタンスの数はデフォルトで 1 で、100を超えません。 1 つの入力のダウンロードレコード数はデフォルトで 1 で、100を超えません。 |
リソースを繰り返し読み込む回数 | 64 | 数制限 | N/A | なし | 不可 | map インスタンスまたは reduce インスタンスが 1 つのリソースを繰り返し読み込む回数は、64 を超えません 。 |
リソースサイズ | 2 GB | サイズ制限 | N/A | なし | 不可 | ジョブが参照するリソースの合計サイズは 2 GB を超えません。 |
分割サイズ | [1,) | サイズ制限 | odps.stage.mapper.split.size | 256 MB | 可能 | フレームワークは、設定された分割サイズに基づいて map を分割します。分割後に map の数が決まります。 |
文字列の列のコンテンツ長 | 8 MB | サイズ制限 | N/A | なし | 不可 | MaxCompute テーブルの文字列カラムのコンテンツは 8MB を超えません。 |
Worker 実行タイムアウト期間 | [1,3600] | 時間制限 | odps.function.timeout | 600 | 可能 | map または reduce worker が データを読み書きしない場合、または context.progress() を使用してハートビートデータを能動的に送信しない場合の、worker のタイムアウト期間。 デフォルト値は 600 秒です。 |
MR によって参照されるテーブルで、サポートされるフィールドの型 | Bigint 型、Double 型、String 型、Datetime 型、Boolean 型 | データ型制限 | N/A | なし | 不可 | MR タスクがテーブルを参照するとき、テーブルに異なる型のフィールドが含まれているとエラーが発生します。 |
OSS からのデータ読み込み | 機能制限 | N/A | なし | 不可 | サポートされていません。 | |
MaxCompute 2.0 の新しい型 | 機能制限 | N/A | なし | 不可 | サポートされていません。 |