Split Size Hint

MaxCompute支持通过调整Split Size控制并发度,调整计算性能。Split Size功能可以作用到表级别。指定的值单位为MB,默认值为256MB。

注意事项

  • 此Hint对于Cluster表,如果优化中使用Cluster的分桶属性,那么Split Size Hint会失效。

  • Split Size的值按照256MB的倍数进行调整,例如128MB、512MB等。

  • 一个SQL中有重复读同张表,那么Hint会被合并成为指定的最小值。

    • SQL中有两个读表src的地方,一个Hint为1MB一个为10MB,那么最后会按照1MB来切分。

    • SQL中有两个读表src的地方,一个Hint为1MB一个没有,那么最后会按照1MB来切分。

使用场景

  • 当您发现作业有很多子任务都在等待资源,没有办法申请到更多资源的情况,可以通过调高Split Size值,减少并发度,可以节省起停子任务的时间。

  • 当并发度比较低,例如并发度只有几百,而且当前执行的子任务运行很久都没有出结果,但是资源池中还有很多资源时,可以调低值来提高并发度,降低整个作业的运行时间。

使用示例

--设置split size大小为1MB,此hint会在读表src时,按照1M的大小来切分task
select a.key from src a /*+split_size(1)*/ join src2 b on a.key=b.key;