MaxComputeでは、分割サイズのヒントを使用して分割サイズを調整できます。 これは、同時実行を制御し、コンピューティングパフォーマンスを最適化するのに役立ちます。 分割サイズはテーブルに適用できます。 分割サイズの単位はMBです。 デフォルト値は256 MBです。
注意事項
クラスタ化されたテーブルに分割サイズヒントを使用し、コンピューティングパフォーマンスを最適化するためにクラスタ化されたテーブルに対してバケット化操作を実行すると、分割サイズヒントは無効になります。
分割サイズの値を、512 MBなど、256 MBの倍数または倍数の値に変更できます。
SQL文の実行時にテーブル内のデータが複数回読み取られた場合、分割には最小の分割サイズが使用されます。 たとえば、ステートメントを実行すると、srcテーブルが2回読み取られます。
一方の分割サイズが1 MBに設定され、他方の分割サイズが10 MBに設定されている場合、分割サイズ1 MBが分割に使用されます。
一方の分割サイズが1 MBに設定され、他方の分割サイズが設定されていない場合、分割サイズ1 MBが分割に使用されます。
シナリオ
ジョブ内の多数のサブタスクがリソースを待機しているが、サブタスクにリソースを割り当てることができない場合は、分割サイズを大きくして、サブタスクの同時実行性を減らすことができます。 このようにして、サブタスクの開始と停止の時間が短縮されます。
サブタスクの同時実行性が低く、現在のサブタスクが予想される期間内に結果を返さない場合は、リソースプールで十分なリソースが使用可能であれば、分割サイズを小さくしてサブタスクの同時実行性を高めることができます。 この調整は、全体的なジョブ実行時間を短縮するのに役立ちます。
例
-- Set the split size to 1 MB. This setting indicates that a job is split into subtasks based on a size of 1 MB when data in the src table is read.
SELECT a.key FROM src a /*+split_size(1)*/ JOIN src2 b ON a.key=b.key;