presto鏈接clickhouse


1.新建一個java項目

在pom文件中添加依賴,可參考下列pom文件

 

創建以下代碼文件

 

②:添加clickhouse Connector

在resource下新建META-INF/services 目錄,在此目錄下新建com.facebook.presto.spi.Plugin文件,在文件中添加com.facebook.presto.plugin.clickhouse.ClickhousePlugin,如下圖
這一步主要是為了ConnectorFactory能識別clcikhouse的Connector


打包

 

上傳

將上述修改好的項目打成jar
在presto安裝目錄的plugin目錄下新建clickhouse目錄
[admin@test-bd-k8s01~]$ mkdir /home/admin/program/presto/plugin/clickhouse
將打好的jar上傳至該目錄
然后在catalog下新建clickhouse.properties

vim /home/admin/program/presto/etc/catalog/clickhouse.properties #寫入clickhouse的連接信息 connector.name=clickhouse connection-url=jdbc:clickhouse://ip:8123 connection-user= connection-password=

然后前台啟動presto
如果出現server started證明clickhouse Connector注冊成功

提示:如果啟動中出現報錯 ERROR main com.facebook.presto.server.PrestoServer No factory for connector clickhouse

那么一定是

②:添加clickhouse Connector

 

這一步沒有做好   META-INF/services 是兩層目錄,雖然最后顯示的是META-INF.services.

最后測試

java -jar presto --server test-bd-k8s01:9999 --catalog clickhouse --schema default

[admin@test-bd-k8s01 presto]$ java -jar presto --server test-bd-k8s01:9999 --catalog clickhouse --schema default
presto:default> show tables;
Table 
--------------
ontime_all 
ontime_local 
(2 rows)

Query 20200415_062000_00001_gqcvv, FINISHED, 1 node
Splits: 19 total, 19 done (100.00%)
0:02 [2 rows, 56B] [0 rows/s, 27B/s]

presto:default> select 1;
_col0 
-------

(1 row)

Query 20200415_062013_00003_gqcvv, FINISHED, 1 node
Splits: 17 total, 17 done (100.00%)
0:00 [0 rows, 0B] [0 rows/s, 0B/s]

presto:default> select * from ontime_local;
flightdate | year 
------------+------
2002-10-12 | 2003 
(1 row)

Query 20200415_062028_00004_gqcvv, FINISHED, 1 node
Splits: 17 total, 17 done (100.00%)
0:00 [1 rows, 0B] [2 rows/s, 0B/s]

測試成功!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM