创建EMR Trino节点

Trino是一个开源的分布式SQL查询引擎,适用于多数据源交互式分析查询。您可以通过创建EMR(E-MapReduce)Trino节点,完成海量多维数据聚合或报表分析。详情请参见Trino概述

前提条件

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

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

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

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

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

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

使用限制

  • 仅支持使用Serverless资源组运行该类型任务。

  • DataLake或自定义集群若要在DataWorks管理元数据,需先在集群侧配置EMR-HOOK。若未配置,则无法在DataWorks中实时展示元数据、生成审计日志、展示血缘关系、开展EMR相关治理任务。配置EMR-HOOK,详情请参见配置Hive的EMR-HOOK

  • Trino开启了LDAP认证的情况下,需要登录EMR所在Master机器,下载/etc/taihao-apps/trino-conf目录中的keystore文件。登录DataWorks控制台,单击进入左侧导航栏的更多 > 管理中心在下拉框中选择对应工作空间后单击进入管理中心,在左侧导航栏单击集群管理,找到已注册的目标EMR集群,切换至账号映射页签,单击编辑账号映射按钮,进入编辑页面,单击上传keystore文件按钮上传该文件。

步骤一:创建EMR Trino节点

  1. 进入数据开发页面。

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

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

  3. 新建节点对话框中,输入名称,并选择引擎实例节点类型路径。单击确认,进入EMR Trino节点编辑页面。

    说明

    节点名称支持大小写字母、中文、数字、下划线(_)和小数点(.)。

步骤二:开发EMR Trino任务

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

(可选)选择EMR集群实例

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

image

连接器配置

  • 查询MySQL相关表之前需要完成EMR Trino内置连接器配置,详情请参见MySQL连接器配置。

  • 查询Hive相关表之前需要完成EMR Trino内置连接器配置,详情请参见Hive连接器配置。

  • 查询其他数据源相关表数据,内置连接器配置可参见配置连接器

编辑SQL代码

在SQL编辑区域输入任务代码,示例如下。

-- 使用方法
-- SELECT * FROM <catalog>.<schema>.<table>;
-- 参数说明
-- <catalog>为要连接的数据源的名称。
-- <schema>为要使用的数据库的名称。
-- <table>为待查询的数据表。
-- 例如,如果要查看Hive数据源中默认数据库中的hive_table表的数据
-- 查Hive表
SELECT * FROM hive.default.hive_table;

-- 例如,如果要查看MySQL数据源中自建数据库rt_data库中的rt_user表的数据 
-- 查MySQL表  
SELECT * FROM mysql.rt_data.rt_user;

-- 联查Hive和MySQL表
SELECT DISTINCT a.id, a.name,b.rt_name FROM hive.default.hive_table a INNER JOIN mysql.rt_data.rt_user b ON a.id = b.id;

-- 查Hive表,可以结合调度参数使用
SELECT * FROM hive.default.${table_name};
说明

执行SQL任务

  1. 在工具栏单击高级运行图标,在参数对话框选择已创建的调度资源组,单击运行

    说明
    • 访问公共网络或VPC网络环境的数据源需要使用与数据源测试连通性成功的调度资源组。详情请参见网络连通方案

    • 如果您后续执行任务需要修改使用的资源组,您可单击带参运行高级运行图标,选择需要更换的调度资源组。

    • 使用EMR Trino节点查询数据时,返回的查询结果最大支持10000条数据,并且数据总量不能超过10M。

  2. 单击保存图标,保存编写的SQL语句。

(可选)配置高级参数

如您需要调整SQL语句执行方式,可点击右侧导航栏的高级设置进行相应设置。

参数

参数说明

FLOW_SKIP_SQL_ANALYZE

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

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

  • false(默认值):表示每次执行一条SQL语句。

DATAWORKS_SESSION_DISABLE

适用于开发环境直接测试运行场景。取值如下:

  • true:表示每次运行SQL语句都会新建一个JDBC Connection。

  • false(默认值):表示用户在一个节点里运行不同的SQL语句时会复用同一个JDBC Connection。

步骤三:配置任务调度

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

说明

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

步骤四:提交发布任务

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

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

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

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

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

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

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

后续步骤

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