最近更新时间:2023.09.28 17:56:37
首次发布时间:2023.07.19 15:30:27
火山引擎 E-MapReduce(EMR)Doris 是一个现代化的 MPP 分析型数据库产品,仅需亚秒级响应时间即可获得查询结果,满足多种数据分析需求,例如固定历史报表,交互式数据分析和探索式数据分析等。
Doris 使用 MPP 分布式计算架构进行任务计算,能够支持聚合,排序,连接等计算任务的高效执行,支持复杂 Join,支持多层嵌套子查询。
本文将为您介绍通过 DataLeap 创建 EMR Doris 节点,使用 SQL 语句,周期性的在 Doris 集群中进行数据加工、查询、分析等操作。
若仅开通 DataLeap 版本中湖仓一体的服务,项目不支持绑定 EMR 引擎。详见版本服务说明。
已创建 EMR-3.2.1 及以上的 Doris 集群类型版本。详见创建集群。
DataLeap 项目控制台中需绑定创建的 EMR Doris 集群,首次绑定集群时,会提示在 EMR 集群关联的安全组中添加 8898 和 9030 端口,您单击确定按钮即可实现自动添加。添加后,为确保能在 DataLeap 上正常进行数据开发和执行任务,需保证相关端口一直存在于安全组中,不要删除。
详见创建项目。
任务配置步骤如下:
登录 DataLeap租户控制台 。
在概览界面,显示加入的项目中,单击数据开发进入对应项目。
在任务开发界面,左侧导航栏中,单击新建任务按钮,进入新建任务页面。
选择任务类型:
分类:数据开发。
绑定引擎:EMR。
关联实例:在下拉列表中选择项目绑定时的 Hadoop 引擎实例,项目支持绑定多个 EMR 引擎,您可在多个引擎实例中选取该任务需执行的引擎实例。多引擎绑定详见创建项目。
选择任务:离线数据 EMR Doris。
填写任务基本信息:
任务名称:输入任务的名称,只允许字符.、字母、数字、下划线、连字符、[]、【】、()、()以及中文字符,且需要在127个字符以内。
保存至: 选择任务存放的目标文件夹目录。
单击确认按钮,成功创建任务。
任务创建成功后,进入到 EMR Doris 任务配置界面,在配置界面中您可按需编写 Doris 支持的 SQL 语法。
在代码编辑器界面,输入对应 EMR Doris SQL 语句,示例如下:
说明
在一个 EMR Doris 节点中,目前仅支持同时提交一个 Query,即当节点中存在多个 Query 时,仅执行第一个 Query 并返回相应结果。
--创建 Doris 数据库; CREATE DATABASE IF NOT EXISTS emr_doris_x; --创建数据表 CREATE TABLE IF NOT EXISTS emr_doris_x.doris_test_table ( id int not null, date_info date not null, name string not null, address string not null, create_time bigint not null, event_time bigint not null, price double not null ) DUPLICATE KEY(id, date_info) PARTITION BY RANGE(date_info) ( PARTITION p1 VALUES LESS THAN ("2020-02-01"), PARTITION p2 VALUES LESS THAN ("2020-03-01"), PARTITION p3 VALUES LESS THAN ("2020-04-01") ) DISTRIBUTED BY HASH(id) BUCKETS 32 PROPERTIES ( "replication_num" = "1" ); --清空表中历史数据 TRUNCATE TABLE emr_doris_x.doris_test_table; --插入新数据 insert into emr_doris_x.doris_test_table VALUES (125038, '2020-02-11', '张三', '天津市丽县', 1669862281, 1668155516, '-36010.5893188364'); --查询 Doris 表中数据 SELECT * FROM emr_doris_x.doris_test_table;
代码编辑区编写完对应 SQL 语句后,您可单击上方导航栏功能区中的格式化按钮,依据在个性化设置中的 SQL 格式化风格的设置,格式化编辑完成的代码,使其语法结构看起来简洁明了。
任务配置完成后,在右侧导航栏中,单击调度配置按钮,进入调度配置窗口,您可以在此设置基本信息、调度属性、依赖等信息,详细参数设置详见:调度设置。
任务产出数据登记,用于记录任务、数据血缘信息,并不会对代码逻辑造成影响。您可在调度设置 > 任务产出数据登记一栏中,设置产出登记相关信息。
对于系统无法通过解析获取产出信息的其他任务,EMR Doris 任务可手动登记其产出信息。如果任务含有 Doris 库表数据的产出,则强烈建议填写,以便后续维护任务数据血缘关系。
手动登记:
您手动填写的内容即为任务产出,支持填写多个。其他任务依赖时,您可在其调度设置界面,通过手动添加的方式,依据此处 Doris 任务产出的库表名信息来搜索添加依赖。 具体登记内容包括以下数据类型:
Doris:该任务逻辑会将数据写入到 Doris 表,需填写 Doris 数据库名、表名、分区名,分区内容可以使用变量,如 ${date}、${hour} 形式。
其他:该任务逻辑不写数据到 Doris 表。
任务代码逻辑和参数配置完成后,您可在编辑器上方,单击操作栏中的保存和调试按钮,进行任务调试。
注意
调试操作,直接使用线上数据进行调试,需谨慎操作。
调试任务开始运行后,可在下方查看调试记录,您也可以查看任务的历史运行记录,包括状态、业务日期、开始时间、结束时间、耗时、提交人等。
单击调试记录,可以查看以下详情内容:
结果:展示代码执行后的查询结果。
概览:查看运行结果的代码。
日志:查看运行详情,可下载日志。
查询结果确认无误后,单击操作栏中的保存并提交上线按钮,在弹窗中,完成提交上线操作,最后单击确认按钮,完成作业提交。详见概述---离线任务提交上线。
注意
EMR Doris 任务目前暂不支持上线流程中的“提交事前检查”功能,后续敬请期待。
后续任务运维操作详见:离线任务运维。