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;
该文章对您有帮助吗?