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
(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]
測試成功!