ETL高级设置
1. ETL高级设置概述
本文将为您介绍Smart ETL的高级设置的功能说明与具体操作。
2. ETL高级设置说明
操作路径:数据中心 - 智能ETL - ETL详情页 - 高级设置;
功能说明:可设置四个运行参数 ,下文将详细说明。
2.1 参数1:ETL中间结果缓存
当ETL相对较复杂时(至少包含两个输出数据集且超过设置的复杂度阈值),通过启用该配置,系统会自动将中间运算结果进行缓存以加速整个ETL的运行效率。特殊情况下,可以在ETL粒度上停用该功能。
-
复杂度的阈值设置页面路径:管理员设置 - 运维管理 - 参数配置 - ETL参数配置;
-
默认推荐的复杂度阈值为100。设置过低,可能造成更多ETL运行过程中自动缓存中间结果。
2.2 参数2:BroadcastJoin
在系统内,Spark为默认启用。但当两张关联表的数据量都较大时,其实并不适合启用Spark的 BroadcastJoin 功能。
对此,您可以通过配置“BroadcastJoin”选项,将其禁用,从而降低风险。 针对特殊情况,是否启用,可以联系观远数据技术支持。
2.3 参数3:Spark单Job超时时间(分)
为某个ETL任务提供更灵活的精准控制。通过设置Spark运行超时时长,可以限制任务的执行时间,确保任务在合理的时间范围内完成,避免因任务执行时间过长导致延迟和资源浪费,从而提升数据分析与处理的效率。
-
默认设置为跟随全局
-
自定义时长修改范围为1-300分钟;
2.4 参数4
设置Spark运行参数 (6.5版本开始生效)
ETL的计算引擎预置了部分Spark运行规则,极端情况下,一些规则会使部分ETL运行异常,此时可以针对这些ETL进行参数与规则的配置,使其在运行中使用特定的参数。支持配置多个规则,多个规则通过换行来区分。
目前支持的参数如下:
-
shuffleBytes
-
guandata.jobLimit.shuffleBytes=200
-
单位为G
输出数据集行数
-
guandata.jobLimit.numOfOutputRows=1
-
单位为亿
shuffleDisk阈值
- guandata.shuffleDisk.threshold=0.85
tableExpansionRate
- guandata.jobLimit.tableExpansionRate=100
broadcast join阈值
- spark.sql.autoBroadcastJoinThreshold=10Mb
-
设置示例:
如果对具体的参数设置不熟悉,请勿自行配置。可以提前联系观远数据对接人员。
停用特定Spark优化规则 (6.5版本之前生效,6.5版本后不生效)
ETL的计算引擎预置了部分Spark运行优化规则,如OptimizeRepartition、ColumnPruning等。非常特殊情况下,一些规则会使部分ETL运行异常,此时可以针对这些ETL进行配置,使其在运行中不采用预制的优化规则。
支持同时剔除、停用多个规则,不同规则之间采用英文逗号分割即可,如下所示。
CombineUnions,ConstantPropagation
若您在配置过程中遇到问题,可联系观远数据对接人员。