重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

HIVECLI任务类型用于执行SQL脚本语句或者SQL任务文件。本文为您介绍创建HIVECLI类型任务时涉及的参数,并提供了HIVECLI任务的示例。

参数说明

参数

说明

节点名称

任务的名称。一个工作流定义中的节点名称是唯一的。

运行标志

  • 正常(默认):运行工作流时执行该任务。

  • 禁止执行:运行工作流不会执行该任务。

描述

节点的描述。

任务优先级

流程运行的优先级。支持以下级别:

  • HIGHEST:最高。

  • HIGH:高。

  • MEDIUM(默认):中。

  • LOW:低。

  • LOWEST:最低。

失败重试次数

工作流运行失败自动重试的次数。

失败重试间隔

每次失败重试的间隔。单位:分。

延时执行时间

延时执行时间,默认为0,即立即执行,设置了该值后才执行延时操作。单位:分。

超时告警

该开关默认关闭。打开超时告警开关,可设定超时时长,并选择至少一个超时策略。

  • 选择超时告警策略,当任务运行时长超过设置的超时时长后,系统将向指定的告警组发送通知。

  • 选择超时失败策略,当任务运行时长超过设置的超时时长后,该任务实例会立即失败。

任务提交节点

  • 调度资源组节点:任务在Workflow的调度资源组节点提交。

  • EMR集群worker节点(提交到Yarn执行)(默认):任务在EMR集群的Worker节点提交,并通过YARN的Container来执行作业脚本。

    警告

    该模式会直接影响EMR集群的文件系统或运行环境,请谨慎操作。

    使用该模式,您还可以选择配置以下参数:

    • 调度队列:指定任务提交的YARN队列。

    • 任务执行容器内存(MB):指定任务执行容器的内存。默认值为1024。

    • 虚拟核数:指定任务执行容器的虚拟核数(vCores)。默认值为1。

    • 优先级:指定任务执行容器的优先级(0-100)。默认值为0,数值越大,优先级越高。

    • 执行用户:默认提交任务的用户为dolphinscheduler。标准集群(非高安全集群),如果需要设置执行用户,请确保YARN服务包含如下配置项:

      • yarn.nodemanager.container-executor.class=org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor

      • yarn.nodemanager.linux-container-executor.nonsecure-mode.limit-users=false

SQL来源

支持以下类型:

  • 脚本输入(默认):使用该程序类型,需要在脚本中填写SQL语句。

  • 选择资源中心文件::使用该程序类型,需要在资源中选择Hive SQL文件。

资源

选择任务执行时所需的资源文件,请确保您已在资源中心文件管理页面,创建或者上传了相应的文件。选择所需文件后,您可以在任务脚本中通过完整路径引用它们。例如,path/to/test.txt

自定义参数

任务自定义参数,会替换脚本中${变量}的内容。

前置任务

设置当前任务的前置(上游)任务。

任务示例

使用脚本输入

该示例演示了如何直接执行Hive SQL脚本语句。

本示例的脚本内容如下。

create table if not exists hive_table(id bigint, name string);
insert into hive_table values (1,'name1');
select * from hive_table;
说明

如果读表或者删除表时任务运行失败,日志报错信息中包含java.net.UnknownHostException信息,处理方法请参见Hive读表或者删除表时报错java.lang.IllegalArgumentException: java.net.UnknownHostException: emr-header-1.xxx

使用资源中心中的Hive SQL文件

该示例演示了如何使用资源中心中的Hive SQL文件来执行任务。在本例中,先在资源中心中定义了sql类型的文件(例如,hive.sql),然后在SQL来源下拉列表中选择选择资源中心文件,在资源下拉列表中选择在资源中心中定义的sql类型文件。

image.png