最近更新时间:2023.09.28 17:56:37
首次发布时间:2023.07.19 15:30:27
火山引擎 E-MapReduce(EMR)StarRocks 是新一代极速全场景 MPP 型数据库。StarRocks 的愿景是能够让您的数据分析变得更加简单和敏捷。您无需经过复杂的预处理,就可以用 StarRocks 来支持多种数据分析场景的极速分析。
使用 EMR StarRocks,您可以灵活构建包括大宽表、星型模型、雪花模型在内的各类模型,兼容 MySQL 协议,支持标准 SQL 语法,便于您对接使用。
本文将为您介绍通过 DataLeap 创建 EMR StarRocks 节点,使用 SQL 语句,周期性的在 StarRocks 集群中进行数据加工、查询、分析等操作。
若仅开通 DataLeap 版本中湖仓一体的服务,项目不支持绑定 EMR 引擎。详见版本服务说明。
已创建 EMR-3.2.1 及以上的 StarRocks 集群类型版本。详见创建集群。
Dataleap 项目控制台中需绑定创建的 EMR StarRocks 集群,首次绑定集群时,会提示在 EMR 集群关联的安全组中添加 8898 和 9030 端口,您单击确定按钮即可实现自动添加。添加后,为确保能在 DataLeap 上正常进行数据开发和执行任务,需保证相关端口一直存在于安全组中,不要删除。
详见创建项目。
任务配置步骤如下:
登录 DataLeap租户控制台 。
在概览界面,显示加入的项目中,单击数据开发进入对应项目。
在任务开发界面,左侧导航栏中,单击新建任务按钮,进入新建任务页面。
选择任务类型:
分类:数据开发。
绑定引擎:EMR。
关联实例:在下拉列表中选择项目绑定时的 Hadoop 引擎实例,项目支持绑定多个 EMR 引擎,您可在多个引擎实例中选取该任务需执行的引擎实例。多引擎绑定详见创建项目。
选择任务:离线数据 EMR StarRocks。
填写任务基本信息:
任务名称:输入任务的名称,只允许字符.、字母、数字、下划线、连字符、[]、【】、()、()以及中文字符,且需要在127个字符以内。
保存至: 选择任务存放的目标文件夹目录。
单击确认按钮,成功创建任务。
任务创建成功后,进入到 EMR StarRocks 任务配置界面,在配置界面中您可按需编写 StarRocks 支持的 SQL 语法。
在代码编辑器界面,输入对应 EMR StarRocks SQL 语句,示例如下:
说明
在一个 EMR StarRocks 节点中,目前仅支持同时提交一个 Query,即当节点中存在多个 Query 时,仅执行第一个 Query 并返回相应结果。
--创建 StarRocks 数据库; CREATE DATABASE IF NOT EXISTS emr_sr_x; --创建数据表 DROP TABLE IF EXISTS emr_sr_x.sr_test_table; CREATE TABLE IF NOT EXISTS emr_sr_x.sr_test_table ( event_day DATE, siteid INT DEFAULT '10', city VARCHAR(32) DEFAULT '', username VARCHAR(32) DEFAULT '', pv BIGINT SUM DEFAULT '0' ) AGGREGATE KEY(event_day, siteid, city, username) PARTITION BY RANGE(event_day) ( PARTITION p201706 VALUES LESS THAN ('2020-07-01'), PARTITION p201707 VALUES LESS THAN ('2020-08-01'), PARTITION p201708 VALUES LESS THAN ('2020-09-01') ) DISTRIBUTED BY HASH(siteid) BUCKETS 10 PROPERTIES("replication_num" = "1"); --清空表中历史数据 TRUNCATE TABLE emr_sr_x.sr_test_table; --插入新数据 insert into emr_sr_x.sr_test_table VALUES ('2020-07-11',27,'天津市丽县', '张三',1669); --查询 StarRocks 表中数据 SELECT * FROM emr_sr_x.sr_test_table;
功能名称 | 描述 |
---|---|
格式化 | 依据在个性化设置中的 SQL 格式化风格的设置,格式化编辑完成的代码,使其语法结构看起来简洁明了。 |
解析 | 解析检查书写的 SQL 代码的语法和语义正确性,运行前检查语法错误信息,防止运行出错。 |
执行引擎 | 支持 StarRocks 执行引擎。 |
任务配置完成后,在右侧导航栏中,单击调度配置按钮,进入调度配置窗口,您可以在此设置基本信息、调度属性、依赖等信息,详细参数设置详见:调度设置。
任务产出数据登记,用于记录任务、数据血缘信息,并不会对代码逻辑造成影响。您可在调度设置 > 任务产出数据登记一栏中,设置产出登记相关信息。
对于系统无法通过解析获取产出信息的其他任务,EMR StarRocks 任务可自动或手动方式登记其产出信息。如果任务含有 StarRocks 库表数据的产出,则强烈建议填写,以便后续维护任务数据血缘关系。
自动登记:
任务产出数据使用“自动登记”模式,则任务每次上线时,系统将根据代码解析结果自动进行更新。您可单击查看“线上版本”的产出数据、查看“草稿版本”的产出数据按钮,查看当前任务不同版本下的产出数据自动登记结果。
手动登记:
您手动填写的内容即为任务产出,支持填写多个。其他任务依赖时,您可在其调度设置界面,通过依赖推荐或手动添加的方式,依据此处 StarRocks 任务产出的库表名信息来搜索添加依赖。 具体登记内容包括以下数据类型:
StarRocks:该任务逻辑会将数据写入到 StarRocks 表,需填写 StarRocks 数据库名、表名、分区名,分区内容可以使用变量,如 ${date}、${hour} 形式。
其他:该任务逻辑不写数据到 StarRocks 表。
任务代码逻辑和参数配置完成后,您可在编辑器上方,单击操作栏中的保存和调试按钮,进行任务调试。
注意
调试操作,直接使用线上数据进行调试,需谨慎操作。
调试任务开始运行后,可在下方查看调试记录,您也可以查看任务的历史运行记录,包括状态、业务日期、开始时间、结束时间、耗时、提交人等。
单击调试记录,可以查看以下详情内容:
结果:展示代码执行后的查询结果。
概览:查看运行结果的代码。
日志:查看运行详情,可下载日志。
查询结果确认无误后,单击操作栏中的保存并提交上线按钮,在弹窗中,完成提交上线等操作,最后单击确认按钮,完成作业提交。详见概述---离线任务提交上线。
注意
EMR StarRocks 任务目前暂不支持上线流程中的“提交事前检查”功能,后续敬请期待。
后续任务运维操作详见:离线任务运维。