文档

创建EMR Kyuubi节点

更新时间:

DataWorks的EMR Kyuubi节点可进行Kyuubi任务的开发和周期性调度,以及与其他作业的集成操作。本文为您介绍使用EMR Kyuubi节点进行任务开发的主要流程。

背景信息

Apache Kyuubi是一个分布式和多租户网关,为数据湖查询引擎(例如Spark、Flink或Trino等)提供SQL等查询服务。详情请参见Kyuubi概述

前提条件

  • 数据开发(DataStudio)中已创建业务流程。

    数据开发(DataStudio)基于业务流程对不同开发引擎进行具体开发操作,所以您创建节点前需要先新建业务流程,操作详情请参见创建业务流程

  • 已创建阿里云EMR集群,并注册EMR集群至DataWorks。

    创建EMR相关节点并开发EMR任务前,您需要先将EMR集群注册至DataWorks工作空间,操作详情请参见注册EMR集群至DataWorks

  • (可选,RAM账号需要)进行任务开发的RAM账号已被添加至对应工作空间中,并具有开发空间管理员(权限较大,谨慎添加)角色权限,添加成员的操作详情请参见为工作空间添加空间成员

  • 已购买独享调度资源组并完成资源组配置,包括绑定工作空间、网络配置等,详情请参见新增和使用独享调度资源组

使用限制

仅支持使用独享调度资源组运行EMR Kyuubi节点。

步骤一:创建EMR Kyuubi节点

  1. 进入数据开发页面。

    登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的数据建模与开发 > 数据开发,在下拉框中选择对应工作空间后单击进入数据开发

  2. 右键单击目标业务流程,选择新建节点 > EMR > EMR Kyuubi

  3. 新建节点对话框中配置节点名称,单击确认。节点创建完成,您可在节点中开发及配置对应任务。

步骤二:开发Kyuubi任务

双击已创建的节点,进入任务开发页面,执行如下开发操作。

(可选)选择EMR集群实例

若您的工作空间注册了多个EMR集群,则可在节点编辑页面顶部选择合适的集群。若仅注册了一个EMR集群,默认使用该集群进行开发操作。

image

开发SQL代码:简单示例

在SQL编辑区域输入任务代码。示例查询所选集群中的所有表,代码如下。

show tables;

开发SQL代码:使用调度参数

DataWorks提供的调度参数可实现周期调度场景下代码动态入参,您可在节点任务中通过${变量名}的方式定义代码中的变量,并在节点编辑页面右侧导航栏的调度配置>调度参数,为该变量赋值。调度参数支持的格式及配置详情,请参见调度参数支持的格式配置并使用调度参数

示例:查询kyuubi040702表中所有年龄大于等于20的用户,其中调度参数a取值为常量20

image

select * from kyuubi040702 where age >= '${a}';

(可选)配置高级参数

核心参数介绍如下。更多任务的相关参数配置,请参考Kyuubi Configurations

说明

EMR Kyuubi任务也支持Spark相关参数配置,在EMR集群设置的全局级别Spark参数,或在EMR Kyuubi任务的高级参数里定义的Spark参数,运行EMR Kyuubi任务时也会生效。Spark参数配置,请参见Spark Configuration;设置全局级别Spark参数,请参见设置全局Spark参数

高级参数

配置说明

“FLOW_SKIP_SQL_ANALYZE”

SQL语句的执行方式。取值如下:

  • true:表示每次执行多条SQL语句。

  • false:表示每次执行一条SQL语句。

说明

该参数仅支持用于数据开发环境测试运行流程。

“priority”

任务优先级,默认为1

“DATAWORKS_SESSION_DISABLE”

用于配置EMR Kyuubi节点运行SQL语句时使用的运行模式。适用于开发环境测试运行场景。取值如下:

  • true:非加速模式,即每次运行SQL语句都会新建一个JDBC Connection。

  • false:加速模式,即在一个节点里运行不同的SQL语句,会复用同一个JDBC Connection。默认值。

“queue”

提交作业的调度队列,默认为default队列。

若注册EMR集群至DataWorks工作空间配置了工作空间级别的YARN资源队列,则Kyuubi任务运行时选择调度队列的规则如下:

  • 全局配置是否优先配置为:使用注册EMR集群时配置的调度队列。

  • 未配置全局配置是否优先:使用EMR Kyuubi节点配置的调度队列。

关于EMR YARN的说明,请参见队列基础配置;注册EMR集群时的队列配置,请参见设置全局YARN资源队列

步骤三:配置任务调度

如您需要周期性执行创建的节点任务,可单击节点编辑页面右侧的调度配置,根据业务需求配置该节点任务的调度信息。配置详情请参见任务调度属性配置概述

说明

您需要设置节点的重跑属性依赖的上游节点,才可以提交节点。

步骤四:调试任务代码

您可根据需要执行如下调试操作,查看任务是否符合预期。

  1. (可选)选择运行资源组、赋值自定义参数取值。

    • 单击工具栏的高级运行图标,在参数对话框选择调试运行需使用的调度资源组。

    • 如您的任务代码中有使用调度参数变量,可在此处为变量赋值,用于调试。参数赋值逻辑,详情请参见任务调试流程

  2. 保存并运行SQL语句。

    单击工具栏的保存图标,保存编写的SQL语句,单击运行图标,运行创建的SQL任务。

  3. (可选)冒烟测试。

    如您希望在开发环境进行冒烟测试,查看调度节点任务的执行是否符合预期,则可在节点提交时,或节点提交后执行冒烟测试,操作详情请参见执行冒烟测试

步骤五:提交发布任务

节点任务配置完成后,需执行提交发布操作,提交发布后节点即会根据调度配置内容进行周期性运行。

  1. 单击工具栏中的保存图标,保存节点。

  2. 单击工具栏中的提交图标,提交节点任务。

    提交时需在提交对话框中输入变更描述,并根据需要选择是否在节点提交后执行代码评审。

    说明
    • 您需设置节点的重跑属性依赖的上游节点,才可提交节点。

    • 代码评审可对任务的代码质量进行把控,防止由于任务代码有误,未经审核直接发布上线后出现任务报错。如进行代码评审,则提交的节点代码必须通过评审人员的审核才可发布,详情请参见代码评审

如您使用的是标准模式的工作空间,任务提交成功后,需单击节点编辑页面右上方的发布,将该任务发布至生产环境执行,操作请参见发布任务

后续步骤

任务提交发布后,会基于节点的配置周期性运行,您可单击节点编辑界面右上角的运维,进入运维中心查看周期任务的调度运行情况。详情请参见查看并管理周期任务

  • 本页导读 (1)