drill 学习 七 drill jdbc 连接说明

Posted rongfengliang-荣锋亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了drill 学习 七 drill jdbc 连接说明相关的知识,希望对你有一定的参考价值。

drill 官方没有提供直接的jdbc支持,但是mapr 提供了一个

下载jdbc 驱动

可以直接在drill 的安装包提取,也可以在https://apache.osuosl.org/drill/ 地址下载
## drill jdbc 连接格式
drill jdbc 驱动支持了多种模式的连接配置: random,local,direct

  • local 以及random格式
 
jdbc:drill:zk=<zk name>[:<port>][,<zk name2>[:<port>]...
<directory>/<cluster ID>;[schema=<storage plugin>]

参数说明
schema 是默认存储插件的配置名称,可选
zk name 是zk 集群的节点名称,主机名或者ip 地址,使用local 或者主机名可以连接本地名称,必须
port zk 的端口名称,可选默认为2181,但是对于mapr 使用的是5181,可选
directory 指定zk 的目录名,默认额为/drill,对于多集群比较有用,可选
cluster id 默认为drillbits1 ,当有自定义的时候比较有用,可选
参考例子:
单机

 
jdbc:drill:zk=maprdemo:5181
jdbc:drill:zk=centos23.lab:2181/drill/docs41cluster-drillbits
jdbc:drill:zk=10.10.100.56:2181/drill/drillbits1;schema=hive

集群

jdbc:drill:zk=10.10.100.30:5181,10.10.100.31:5181,10.10.100.32:2181/drill/drillbits1;schema=hive
  • 直接连接模式
    格式:
 
jdbc:drill:drillbit=<node name>[:<port>][,<node name2>[:<port>]...
<directory>/<cluster ID>[schema=<storage plugin>]

参数说明
drillbit= 指定 drill 集群的节点主机名或者ip
tries 指定最长尝试连接默认为5次
运行说明:此种模式需要rpc连接,端口为31010,对应docker 运行模式

 
docker run -i --name drill-1.17.0 -p 8047:8047 -p 31010:31010 -p 31011:31011 -p 31012:31012 -t apache/drill:1.17.0 /bin/bash

jdbc参考代码

Class.forName("org.apache.drill.jdbc.Driver");
Connection connection =DriverManager.getConnection("jdbc:drill:zk=
node3.mynode.com:2181/drill/my_cluster_com-drillbits");
Statement st = connection.createStatement();
ResultSet rs = st.executeQuery("SELECT * from cp.`employee`");
while(rs.next()){
System.out.println(rs.getString(1));
}

参考资料

https://www.cnblogs.com/rongfengliang/p/6925663.html
https://drill.apache.org/docs/using-the-jdbc-driver/
https://drill.apache.org/docs/ports-used-by-drill/

以上是关于drill 学习 七 drill jdbc 连接说明的主要内容,如果未能解决你的问题,请参考以下文章

* 使用 apache Drill 将 saiku 与 mongo 连接时代替键

从 JetBrains JDBC 驱动程序执行 Drill 查询时引用错误

无法使用 apache Drill 1.2 配置 postgreSQL JDBC 驱动程序

Apache Drill - hiveserver2 jdbc 错误

drill 数据源配置补充

Apache Drill - 以嵌入式模式连接到 Drill [java]