drill 學習 七 drill jdbc 連線說明
阿新 • • 發佈:2020-10-04
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/