このセクションでは、高度なパラメーターについて説明します。
パラメーター | 値 | デフォルト | 説明 | スコープ |
Auto-set Runtime Configuration | true/false | true |
| General |
Global Flush Interval (seconds) | 5 ~ 1000 の整数 | 60 | すべての書き込みスレッドがキャッシュデータを宛先にバッチフラッシュし、同期オフセットを進める間隔を設定します。
推奨事項:レイテンシが主要な懸念事項でない大容量データ同期シナリオでは、この値を増やすことを検討してください。高リアルタイム性が求められるユースケースでは、この値を小さくしてください。 | General |
Failover Restart Policy Time Window (minutes) | 1 ~ 60 の整数 | 30 | 同期タスクが回復可能な例外に遭遇した場合、システムはこのタイムウィンドウ内で自動再起動をトリガーするかどうかをチェックします。具体的には、ウィンドウ内の失敗回数がしきい値を超えたかどうかを確認します。
このパラメーターは、失敗回数をカウントする時間枠を定義します。短いウィンドウにすると、一時的かつ断続的な問題に対してシステムがより寛容になります。 重要 このウィンドウを小さくしすぎると、持続的かつ回復不能な問題に直面している際にタスクが頻繁に再起動し、リソースが無駄になり、根本原因の検出および手動での解決が遅れる可能性があります。 | General |
Failover Restart Policy Failure Count Threshold | 1 ~ 100 の整数 | 3 | 設定されたタイムウィンドウ内でタスクが自動再起動できる最大回数を指定します。
推奨事項:フォールトトレランスと問題検出の迅速性のバランスを取るため、比較的小さな値を設定してください。 | General |
Partition Cache Queue Size | 5 ~ 100 の整数 | 5 | MaxCompute の非 Delta パーティションテーブルに書き込む際、データはパーティション単位でキャッシュされます。Global Flush Interval で設定された時間ウィンドウ内に、同期タスクは宛先パーティションごとに個別のキャッシュを割り当てる必要があります。このパラメーターは、同時にキャッシュできるパーティションの最大数を制限します。 1 回のフラッシュ間隔内で書き込むパーティション数がこのキューのサイズを超える場合、システムは早期にグローバルフラッシュをトリガーしてすべてのキャッシュデータをコミットします。早期フラッシュが頻発すると、書き込み効率および全体的な同期パフォーマンスが著しく低下します。 推奨事項:Partition Cache Queue Size は、1 回の Global Flush Interval 内に書き込むことが想定される最大の異なるパーティション数よりも大きい値に設定し、早期フラッシュを回避してください。 同期タスクが遅延し、ログに 重要 このパラメーターを増やすと、メモリ消費量が線形に増加します。次の数式を使用してメモリ使用量を推定できます: クラスターの利用可能なリソースに基づき、この値を慎重に設定し、メモリ不足 (OOM) エラーを防止してください。 | Writes to MaxCompute |
Async Write Thread Pool Size | 1 ~ 100 の整数 | 1 | 同期タスクが遅延しており、書き込み先がパフォーマンスボトルネックであると特定された場合、このパラメーターを増やすことで書き込みスループットを向上できます。たとえば、Log Service (Loghub) からの読み取りは MaxCompute への書き込みよりも高速であることが多いため、このようなケースでは書き込みスレッド数を増やすことでパイプラインのバランスを改善できます。 説明 Worker 内でのスレッドスケジューリングによるオーバーヘッドを抑制するため、この値は 10 以下に保つことを推奨します。 | Writes to MaxCompute |
Oversized Field Handling Rule | Do Not Process/Truncate/Set to Null | Do Not Process | MaxCompute では、単一フィールドの最大長がデフォルトで 8 MB に制限されています。このパラメーターは、同期中にこの制限を超えるフィールドを処理する戦略を定義します。
| Writes to MaxCompute |
Real-time Task Session Cache Size (bytes) | 正の整数 | 67108864 (64 MB) | MaxCompute Delta テーブルにデータを書き込む際、宛先パーティションごとにセッションが作成されます。非パーティションテーブルの場合は、1 つのグローバルセッションが作成されます。各セッションには複数のバケットが含まれ、その数はテーブル作成時に定義されます。同期タスクは、各バケットのデータをキャッシュします。1 つのセッション内のすべてのバケットにわたるキャッシュデータの合計サイズがこの値(バイト単位)を超えると、システムはそのセッションから MaxCompute サーバーへの全データのバッチコミットをトリガーします。 説明 このパラメーターは、メモリ使用量と書き込み頻度のトレードオフを制御します。メモリ不足 (OOM) エラーにより同期タスクが失敗する場合は、ピーク時のメモリ負荷を軽減するためにこの値を小さくすることを検討してください。 | Writes to MaxCompute |
Real-time Task Bucket Cache Size (bytes) | 正の整数 | 1048576 (1 MB) | MaxCompute Delta テーブルにデータを書き込む際、宛先パーティションごとにセッションが作成されます(非パーティションテーブルの場合は 1 つのグローバルセッション)。各セッションは複数のバケットに分割されます。同期タスクは、各バケットに独立したキャッシュを割り当てます。1 つのバケット内のキャッシュデータ量がこの値(バイト単位)を超えると、その特定のバケットのデータが MaxCompute サーバーにコミットされます。 説明 このパラメーターは、メモリ消費量と書き込み頻度のトレードオフを制御します。通常、この設定を調整する必要はありません。デフォルト値の使用を推奨します。 | Writes to MaxCompute |
Dynamic Disk Write Threshold | 正の整数 | None | このパラメーターは、MaxCompute Delta テーブルにデータを書き込む際に適用されます。保留中のデータを持つ宛先パーティション数がこのしきい値を超えると、バケットキャッシュがメモリからディスクにオフロードされ、メモリ消費量が削減されます。この機能を有効にすると同期パフォーマンスが低下するため、タスクが非常に多数のパーティションに書き込む必要があり、メモリ負荷が過剰になる場合にのみ使用してください。 | Writes to MaxCompute |
Single-table Flush Concurrency | 正の整数 | 2 | MaxCompute Delta テーブルにデータを書き込む際、このパラメーターは 1 つのセッションから MaxCompute サーバーに同時にフラッシュできるバケット数を決定します。ほとんどのケースで、このパラメーターを変更する必要はありません。 | Writes to MaxCompute |
Data Partitioning Strategy | Primary key value/Table partition field value | Primary key value | 書き込み Concurrency が 1 より大きい状態で MaxCompute Delta テーブルにデータを書き込む場合、データ整合性を確保するために Data Partitioning Strategy を構成する必要があります。この戦略は、ソースレコードを並列ライターインスタンス間にどのように分散するかを決定します。
構成に関する推奨事項:
| Writes to MaxCompute |
Concurrency per Worker | 1 ~ 100 の整数 | CU 数に応じて変動 | 同期タスクの合計 Concurrency は、 Worker 内でのスレッドスケジューリングによるオーバーヘッドを軽減するため、Worker あたりの Concurrency は 10 未満に設定することを推奨します。 | General |
Number of Workers | 1 ~ 100 の整数 | CU 数に応じて変動 | 同期タスクの合計 Concurrency は、 | General |