Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库产品,仅需亚秒级响应时间即可获得海量数据下的查询结果,不仅能支持高吞吐的复杂分析场景,也可高效地进行实时数据分析。Apache Doris 的分布式架构非常简洁,易于运维,也能够支持聚合,排序,连接等计算任务的高效执行等优势。
火山引擎 E-MapReduce(EMR)集群中集成了 Doris 组件服务,您可通过创建 EMR Doris 集群,来满足多种数据分析需求,例如固定历史报表,实时数据分析,交互式数据分析和探索式数据分析等。更多信息详见 Doris 概述。
本文将为您介绍在火山引擎大数据研发治理套件 DataLeap 上,通过 Shell 任务调用 EMR Doris 的方式,对 Doris 中的数据进行访问。
注意
从 EMR Doris 集群中,获取 Shell 任务所需的 Doris 连接信息。
登录 EMR Doris 集群 Master 节点,登录方式详见登录集群。
Master 节点机器上已经安装了 MySQL 客户端, 可以通过如下命令连接 Doris 集群:
mysql -h 127.0.0.1 -P9030 -u root -p
初次登录时, 可以使用root用户和空字符串密码登录。初次登录后请尽快完成 root 账号密码修改,您可以通过以下命令修改 root 账号密码:
SET PASSWORD FOR 'root' = PASSWORD('new_password');
记录修改后的账号密码信息,其余 Doris 操作详见 Doris 基础使用。
任务完成新建后,进入 Shell 任务编辑界面,进行以下脚本编辑:
mysql -hlocalhost -P9030 -uusername -ppassword -e "CREATE DATABASE if not exists shell_doris_test; use shell_doris_test; CREATE TABLE shell_doris ( 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\" ); insert into shell_doris select 125037, '2020-01-11', '张三', '天津市丽县', 1669862281, 1668155516, '-36010.5893188364';"
替换参数说明:
参数 | 说明 |
---|---|
localhost | EMR Doris 集群中 Master 节点内网 IP 信息。 |
username | 数据库用户名信息。 |
password | 数据库用户登录信息。 |
-e "create table xxx " | 根据实际场景,输入符合逻辑的 SQL 语句。 |
脚本配置完成后,您可进行以下操作,完成任务执行资源配置:
说明
您也可以根据实际场景,进行自定义镜像,镜像打包流程详见推送和拉取镜像,基础镜像请选择 dataleap-cn-beijing.cr.volces.com/studio/runtime_light:online,其中地域信息:cn-beijing,可根据实际区域情况进行修改。
在选取独享计算资源组设置后,网络配置中会默认将独享计算资源组绑定的私有网络、子网、安全组信息填入,且不可修改。
您可在创建独享计算资源组时,配置对应的私有网络信息,需和 EMR Doris 集群中的网络配置信息保持一致,便于网络互通。创建资源组操作详见:资源组管理。
产出数据登记用于记录任务的数据血缘,不会对代码逻辑造成影响,此示例选择默认。
任务配置完成后,依次单击上方操作栏中保存和调试图标按钮,执行编辑好的 Shell 命令,执行成功后,可在界面下方查看运行日志。
登录 EMR Doris 集群 Master 节点,登录方式详见登录集群。
输入以下命令,回车后输入密码,进入 MySQL 客户端:
mysql -h 127.0.0.1 -P9030 -u root -p
进入已创建成功的数据库中查询验证:
use shell_doris_test; select * from shell_doris;
查询结果如下:
结果验证确认无误后,您可进行后续的调度设置和将任务提交发布到运维中心离线任务运维中执行。
后续任务运维操作详见:离线任务运维。