Presto支持Elasticsearch數(shù)據(jù)源配置詳解
正文
強(qiáng)烈建議使用Elasticsearch 6.0.0或更高版本
在實(shí)際工作中我們使用到elasticsearch的場(chǎng)景也很多,為了方便我們統(tǒng)一SQL的查詢方式,我們需要將elasticsearch接入到presto中,當(dāng)然這也是合理的,接下來(lái)我們講解如何進(jìn)行elasticsearch數(shù)據(jù)源的接入!
數(shù)據(jù)源配置
- 首先進(jìn)入presto安裝目錄
cd <PrestoHome>
- 創(chuàng)建presto對(duì)接elasticsearch的配置文件
vim etc/catalog/elasticsearch.properties
在該文件中配置以下內(nèi)容:
connector.name=elasticsearch elasticsearch.default-schema-name=test elasticsearch.table-description-directory=etc/elasticsearch/ elasticsearch.scroll-size=1000 elasticsearch.scroll-timeout=30s elasticsearch.request-timeout=2s elasticsearch.max-request-retries=10 elasticsearch.max-request-retry-time=90s elasticsearch.max-hits=1000000
參數(shù)的詳細(xì)含義詳見(jiàn)官方文檔
數(shù)據(jù)表配置
我們配置的數(shù)據(jù)表目錄是etc/elasticsearch/
,所以我們需要在該目錄下創(chuàng)建相關(guān)數(shù)據(jù)表配置
比如我們?cè)趀s中有一個(gè)明教test的索引,索引大概如下
{ "test": { "mappings": { "elasticsearch": {}, "doc": { "properties": { "msg": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "query": { "properties": { "match": { "properties": { "msg": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } } } } } } } } } } }
在該索引中我們只有一個(gè)字段那就是msg,根據(jù)這個(gè)索引我們配置適配presto的數(shù)據(jù)表
數(shù)據(jù)表配置如下:
{ "tableName":"test", "schemaName":"test", "host":"localhost", "port": 9300, "clusterName":"es", "index":"test", "indexExactMatch":false, "type":"doc", "columns":[ { "name":"msg", "type":"varchar", "jsonPath":"msg", "jsonType":"varchar" } ] }
需要注意的是我們?cè)赾olumns中的類型指定的是presto中的數(shù)據(jù)類型 jsonPath針對(duì)于json數(shù)據(jù)而言,不是json數(shù)據(jù)的話直接使用key即可,詳細(xì)的參數(shù)配置詳見(jiàn)官方文檔
注意事項(xiàng):
clusterName一定要于ES服務(wù)配置的一致,否則會(huì)出現(xiàn)無(wú)法連接錯(cuò)誤
jsonPath配置格式為$.key
配置完成后重啟presto服務(wù)即可
數(shù)據(jù)測(cè)試
- 連接presto客戶端
presto-cli/target/presto-cli-0.235-SNAPSHOT-executable.jar --server <PrestoServer>
- 執(zhí)行查詢sql
SELECT msg FROM elasticsearch.test.test limit 1;
elasticsearch.test.test
: <catalog>.<database>.<table>
返回結(jié)果如下:
msg
-----
你好
(1 row)
Query 20200429_095419_00007_p45px, FINISHED, 1 node
Splits: 18 total, 18 done (100.00%)
0:05 [39.8K rows, 660KB] [8.12K rows/s, 135KB/s]
返回我們?cè)贓S中的數(shù)據(jù)結(jié)果,我們集成ES成功!
注意: 需要同步配置etc目錄到所有的節(jié)點(diǎn)中,并重啟服務(wù)
以上就是Presto支持Elasticsearch數(shù)據(jù)源配置詳解的詳細(xì)內(nèi)容,更多關(guān)于Presto Elasticsearch數(shù)據(jù)源配置的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Spring Boot 2.X 快速集成單元測(cè)試解析
這篇文章主要介紹了Spring Boot 2.X 快速集成單元測(cè)試解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08spring導(dǎo)入framework報(bào)紅問(wèn)題
這篇文章主要介紹了spring導(dǎo)入framework報(bào)紅問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07SpringBoot導(dǎo)入導(dǎo)出數(shù)據(jù)實(shí)現(xiàn)方法詳解
這篇文章主要介紹了SpringBoot導(dǎo)入導(dǎo)出數(shù)據(jù)實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2022-12-12Struts2學(xué)習(xí)筆記(7)-訪問(wèn)Web元素
這篇文章主要介紹Struts2中訪問(wèn)Web元素的方法,希望能給大家做一個(gè)參考。2016-06-06Java實(shí)現(xiàn)Swing組件定制Button示例
這篇文章主要介紹了Java實(shí)現(xiàn)Swing組件定制Button,涉及java Swing組件Button相關(guān)屬性設(shè)置與使用操作技巧,需要的朋友可以參考下2018-01-01MyBatis中的SQL映射文件如何配置參數(shù)映射和使用方法
MyBatis 是一種開源的 Java 持久化框架,它可以自動(dòng)將數(shù)據(jù)庫(kù)中的數(shù)據(jù)映射到 Java 對(duì)象中,并且使得 Java 對(duì)象可以非常方便地存儲(chǔ)到數(shù)據(jù)庫(kù)中,本文將介紹 MyBatis 中 SQL 映射文件的參數(shù)映射配置和使用方法,需要的朋友可以參考下2023-07-07response.setContentType()參數(shù)以及作用詳解
這篇文章主要介紹了response.setContentType()參數(shù)以及作用詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08