本章节为您介绍如何通过Dataphin数据倾斜优化功能对调度中触发的异常状态任务做出优化。

数据倾斜优化简介

数据倾斜优化在Dataphin调度中的应用如下:
  1. 如果已开启数据倾斜优化功能,在您首次提交任务中,当执行时间、任务超时倍率、数据量膨胀倍率超过设定的阈值时,会触发异常判定功能,完成初步的判断。
  2. 任务执行的过程中,会同步调度数据探查,针对关联的字段,定位到出现频次过高的热点数据。根据该探查信息,对执行中的任务代码进行重构、规避数据倾斜,同时终止原正在执行中的任务,重新提交新的代码,实现对逻辑表任务的优化。
  3. 倾斜状态会被记录下来,作为次日数据的探查触发点,如果次日探查结果仍旧有数据倾斜,则继续使用优化后的代码,如果探查结果无数据倾斜,则使用非数据倾斜优化的代码。
  4. 对于重跑的逻辑表任务:
    • 如果引用到已经探查过的数据表及对应字段,且探查结果为该字段有倾斜,则会根据探查信息,直接对提交的SQL进行优化,并使用优化后的代码进行执行。
    • 如果重跑任务中使用的数据表未被探查过,则与已开启数据倾斜功能触发的异常判断方式相同,调度探查任务,根据探查结果重组代码。智能数据引擎自动生成的任务和模型在生产过程中遇到了数据倾斜的问题,由智能数据引擎自行处理。

数据倾斜优化配置

  1. 登录Dataphin控制台
  2. 在Dataphin控制台页面,选择工作区地域后,单击进入Dataphin>>
  3. 在Dataphin首页,单击顶部菜单栏的管理中心
  4. 在左侧菜单栏中选择智能引擎,默认进入数据倾斜优化配置页签。
  5. 根据页面提示配置参数,详细内容请参见下表。 w
    参数名称 描述 配置示例
    数据倾斜自优化 全局配置智能数据引擎是否开启数据倾斜自优化功能。 开启
    任务执行时间 任务执行时间阈值,是触发对任务进行数据探查的基础条件。即当任务时间超过设定值时,会触发异常分析及判定机制,单位ms。 600000
    任务超时执行倍率 某任务执行时间倍率阈值,是触发对任务进行数据探查的基础条件。即当某任务执行时间超过平均执行时间该倍率时,会触发异常任务分析与判定机制。 2
    数据量执行倍率 某任务处理数据量倍率阈值,是触发对任务进行数据探查的基础条件。即当某任务处理的数据量超过所有任务平均处理数据量该倍率时,会触发异常任务分析与判定机制。 2
    数据倾斜阈值 倾斜值数据量阈值设置,是判定数据集中倾斜的规则。即当数据集的某值大于该阈值时,判定该计算任务为倾斜。 1000000
    倾斜值个数倍率 倾斜值倾斜倍率设置,是判定数据集中倾斜值的规则。即当数据集中某值个数大于所有值平均个数的该倍率时,判定为计算任务为倾斜。 2
  6. 单击确定,完成参数的配置。

    您也可以在数据倾斜优化页面,单击恢复默认值。在确认框中,单击确定,恢复默认值。

  7. 在确认框中,单击确定,完成数据倾斜优化参数的配置。