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

数据倾斜化简介

数据倾斜优化在Dataphin调度中的应用如下:
  1. 如果已开启数据倾斜优化功能,在您首次提交任务时,如果执行时间、任务超时倍率、数据量膨胀倍率超过设定的阈值时,会触发异常判定功能,完成初步的判断。
  2. 任务执行的过程中,会同步调度数据探查,针对关联的字段,定位到出现频次过高的热点数据。根据该探查信息,对执行中的任务代码进行重构、规避数据倾斜,同时终止原正在执行中的任务,重新提交新的代码,实现对逻辑表任务的优化。
  3. 倾斜状态会被记录下来,作为次日数据的探查触发点,如果次日探查结果仍旧是有数据倾斜,则继续使用优化后的代码,如果探查结果无数据倾斜,则使用非数据倾斜优化的代码。
  4. 对于重跑的逻辑表任务:
    • 如果引用到已经探查过的数据表及对应字段,且探查结果为该字段有倾斜,则会根据探查信息,直接对提交的SQL进行优化,并使用优化后的代码进行执行。
    • 如果重跑任务中使用的数据表未被探查过,则与已开启数据倾斜功能触发的异常判断方式相同、调度探查任务,根据探查结果重组代码。智能数据引擎自动生成的任务和模型在生产过程中遇到了数据倾斜的问题,由智能数据引擎自行处理。
如果您需要使用数据倾斜优化功能,计算引擎源需要支持yarn信息的配置,如下所示。1
数据倾斜判定识别需要实时采集的MR日志。如果以下三个配置任一为空,则智能数据引擎中的全局开关中,数据倾斜自优化默认为关闭状态,并提示此处需要填写对应信息:
  • MR日志Web服务:yarn环境变量参数,mapreduce.jobhistory.webapp.address,用以实时收集MR日志。
  • yarn Web服务:yarn环境变量参数,yarn.web-proxy.address,用以分发ResourceManger访问请求。
  • yarn RM服务:yarn环境变量参数,yarn.resourcemanager.webapp.address,用以访问yarn Resource Manager信息。

数据倾斜优化配置

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