“
作者介绍:
赵敏,网易数帆服务端开发工程师,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服务
-
$KYUUBI_HOME/bin/kyuubi run
02
Demo 演示
1.2 TPCDS 数据集
接下来我们将使用 doris 官网提供快速开始示例(https://doris.apache.org/zh-CN/docs/get-starting/)演示通过 kyuubi 查询 doris。
2.1 建立连接
-
./beeline -u "jdbc:hive2://xxxx:10009/;#kyuubi.engine.type=jdbc"
当输出下图所示日志时,说明 jdbc 引擎启动成功。
2.2 创建库
-
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 查询
-
select * from demo.expamle_tbl;
查询结果:
-
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