MaxCompute支援通過調整Split Size控制並發度,調整計算效能。Split Size功能可以作用到表層級。指定的值單位為MB,預設值為256 MB。
注意事項
此Hint對於Cluster表,如果最佳化中使用Cluster的分桶屬性,那麼Split Size Hint會失效。
Split Size的值按照256 MB的倍數進行調整,例如512 MB。
一個SQL中有重複讀同張表,那麼Hint會被合并為指定的最小值。
SQL中有兩個讀表src的地方,一個Hint為1MB一個為10MB,那麼最後會按照1MB來切分。
SQL中有兩個讀表src的地方,一個Hint為1MB一個沒有,那麼最後會按照1MB來切分。
使用情境
當作業有很多子任務等待資源,卻又無法申請到更多資源時,可以通過調高Split Size值,減少並發度,節省起停子任務的時間。
當並發度比較低且當前執行的子任務運行較長時間沒有出結果,而資源集區中還有很多資源時,可以調低值來提高並發度,縮短整個作業的已耗用時間。
使用樣本
--設定split size大小為1 MB,hint會在讀表src時,按照1M的大小來切分task
SELECT a.key FROM src a /*+split_size(1)*/ JOIN src2 b ON a.key=b.key;