亲测3分钟!带你从零配置 Kyuubi 查询 Doris

2022-10-28 15:26:22 浏览数 (1)

作者介绍:

赵敏,网易数帆服务端开发工程师,Apache Kyuubi Committer。目前在网易数帆从事有数数据集成产品的开发。

Kyuubi 在1.6.0版本实现了JDBC引擎,首先实现了Apache Doris的方言,提供了查询 Doris 的能力。本文将介绍如何从零开始配置通过 Kyuubi 查询 Doris。

01

配置Kyuubi

1.2 TPCDS 数据集

1.1 下载Kyuubi安装包

从Kyuubi官网下载1.6.0的安装包后解压。

https://www.apache.org/dyn/closer.lua/incubator/kyuubi/kyuubi-1.6.0-incubating/apache-kyuubi-1.6.0-incubating-bin.tgz

1.2 修改配置文件

代码语言:javascript复制
cd $KYUUBI_HOME/confvi kyuubi-defaults.conf

在 kyuubi-defaults.conf 中追加如下配置:

代码语言:javascript复制
kyuubi.engine.jdbc.connection.url=jdbc:mysql://xxx:xxxkyuubi.engine.jdbc.connection.user=***kyuubi.engine.jdbc.connection.password=***kyuubi.engine.jdbc.type=doriskyuubi.engine.jdbc.driver.class=com.mysql.cj.jdbc.Driverkyuubi.engine.type=jdbc

配置项说明:

配置项

说明

kyuubi.engine.jdbc.connection.url

jdbc 服务连接。这里请指定 Doris FE 上的 mysql server 连接地址

kyuubi.engine.jdbc.connection.user

jdbc 服务用户名

kyuubi.engine.jdbc.connection.password

jdbc服务密码

kyuubi.engine.jdbc.type

jdbc服务类型。这里请指定为doris

kyuubi.engine.jdbc.driver.class

连接jdbc服务使用的驱动类名。请使用com.mysql.cj.jdbc.Driver

kyuubi.engine.type

引擎类型。请使用jdbc

1.3 添加驱动

添加mysql驱动mysql-connector-java-8.0.30.jar到apache-kyuubi-1.6.0-incubating-bin/externals/engines/jdbc目录

1.4 启动kyuubi服务

代码语言:javascript复制
$KYUUBI_HOME/bin/kyuubi run

02

Demo 演示

1.2 TPCDS 数据集

接下来我们将使用 doris 官网提供快速开始示例(https://doris.apache.org/zh-CN/docs/get-starting/)演示通过 kyuubi 查询 doris。

2.1 建立连接

代码语言:javascript复制
./beeline -u "jdbc:hive2://xxxx:10009/;#kyuubi.engine.type=jdbc"

当输出下图所示日志时,说明 jdbc 引擎启动成功。

2.2 创建库

代码语言:javascript复制
create database demo;

执行结果如下:

2.3 创建表

代码语言:javascript复制
CREATE TABLE IF NOT EXISTS demo.expamle_tbl(    user_id LARGEINT NOT NULL COMMENT "用户id",    date DATE NOT NULL COMMENT "数据灌入日期时间",    city VARCHAR(20) COMMENT "用户所在城市",    age SMALLINT COMMENT "用户年龄",    sex TINYINT COMMENT "用户性别",    last_visit_date DATETIME REPLACE DEFAULT "1970-01-01 00:00:00" COMMENT "用户最后一次访问时间",    cost BIGINT SUM DEFAULT "0" COMMENT "用户总消费",    max_dwell_time INT MAX DEFAULT "0" COMMENT "用户最大停留时间",    min_dwell_time INT MIN DEFAULT "99999" COMMENT "用户最小停留时间")AGGREGATE KEY(user_id, date, city, age, sex)DISTRIBUTED BY HASH(user_id) BUCKETS 1PROPERTIES (    "replication_allocation" = "tag.location.default: 1",    "replication_num" = "1");

执行结果如下:

2.4 导入数据

代码语言:javascript复制
10000,2017-10-01,北京,20,0,2017-10-01 06:00:00,20,10,1010000,2017-10-01,北京,20,0,2017-10-01 07:00:00,15,2,210001,2017-10-01,北京,30,1,2017-10-01 17:05:45,2,22,2210002,2017-10-02,上海,20,1,2017-10-02 12:59:12,200,5,510003,2017-10-02,广州,32,0,2017-10-02 11:20:00,30,11,1110004,2017-10-01,深圳,35,0,2017-10-01 10:00:15,100,3,310004,2017-10-03,深圳,35,0,2017-10-03 10:20:22,11,6,6

2.5 查询

代码语言:javascript复制
select * from demo.expamle_tbl;

查询结果:

代码语言:javascript复制
select city, sum(cost) as total_cost from demo.expamle_tbl group by city;

查询结果:

本文演示了如何通过 Kyuubi 自带的 beeline 查询 doris。当前对 Doris 的支持仍然处于 beta阶段,欢迎大家试用,提供意见和建议,共同来完善 Kyuubi 查询 Doris 的能力。

END

本文为从大数据到人工智能博主「bajiebajie2333」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://cloud.tencent.com/developer/article/2143668

0 人点赞