日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OLAP引擎:基于Presto组件进行跨数据源分析

發(fā)布時間:2025/3/17 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OLAP引擎:基于Presto组件进行跨数据源分析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、Presto概述

1、Presto簡介

Presto是一個開源的分布式SQL查詢引擎,適用于交互式分析查詢,數(shù)據(jù)量支持GB到PB字節(jié),Presto雖然具備解析SQL的能力,但它并不屬于標(biāo)準(zhǔn)的數(shù)據(jù)庫范疇。

Presto支持在線數(shù)據(jù)查詢,包括Hive,關(guān)系數(shù)據(jù)庫以及專有數(shù)據(jù)存儲。一條Presto查詢可以將多個數(shù)據(jù)源的數(shù)據(jù)進行合并,可以跨越整個組織進行分析,Presto主要用來處理響應(yīng)時間小于1秒到幾分鐘的場景。

2、Presto架構(gòu)

Presto查詢引擎是基于Master-Slave的架構(gòu),運行在多臺服務(wù)器上的分布式系統(tǒng),由一個Coordinator節(jié)點和多個Worker節(jié)點組成,Coordinator負責(zé)解析SQL語句,生成執(zhí)行計劃,分發(fā)執(zhí)行任務(wù)給Worker節(jié)點執(zhí)行,Worker節(jié)點負責(zé)實際執(zhí)行查詢?nèi)蝿?wù)。

Coordinator節(jié)點

Coordinator服務(wù)器是用來解析查詢語句,執(zhí)行計劃分析和管理Presto的Worker結(jié)點,跟蹤每個Work的活動情況并協(xié)調(diào)查詢語句的執(zhí)行。Coordinator為每個查詢建立模型,模型包含多個Stage,每個Stage再轉(zhuǎn)為Task分發(fā)到不同的Worker上執(zhí)行,協(xié)調(diào)通信基于REST-API,Presto安裝必須有一個Coordinator節(jié)點。

Worker節(jié)點

Worker負責(zé)執(zhí)行查詢?nèi)蝿?wù)和處理數(shù)據(jù),從Connector獲取數(shù)據(jù),Worker間會交換中間數(shù)據(jù)。Coordinator從Worker獲取結(jié)果并返回最終結(jié)果給Client端,當(dāng)Worker啟動時會廣播自己并發(fā)現(xiàn)Coordinator,告知Coordinator可用狀態(tài),協(xié)調(diào)通信基于REST-API,Presto通常會安裝多個Worker節(jié)點。

數(shù)據(jù)源適配

Presto可以適配多種不同的數(shù)據(jù)源,可以和數(shù)據(jù)源連接和交互,Presto是通過表的完全限定名處理table,Catalog對應(yīng)類數(shù)據(jù)源,Schema對應(yīng)數(shù)據(jù)庫,Table對應(yīng)數(shù)據(jù)表。

Presto中處理的最小數(shù)據(jù)單元是一個Page對象,一個Page對象包含多個Block對象,每個Block對象是一個字節(jié)數(shù)組,存儲一個字段的若干行,多個Block橫切的一行是真實的一行數(shù)據(jù)。

二、Presto安裝

1、安裝包管理

[root@hop01 presto]# pwd /opt/presto [root@hop01 presto]# ll presto-cli-0.196-executable.jar presto-server-0.189.tar.gz [root@hop01 presto]# tar -zxvf presto-server-0.189.tar.gz

2、配置管理

在presto安裝目錄中創(chuàng)建etc文件夾,并添加以下配置信息:

/opt/presto/presto-server-0.189/etc

節(jié)點屬性

每個節(jié)點的特定環(huán)境配置:etc/node.properties;

[root@hop01 etc]# vim node.properties node.environment=production node.id=presto01 node.data-dir=/opt/presto/data

配置內(nèi)容:環(huán)境名稱,唯一ID,數(shù)據(jù)目錄。

JVM 配置

JVM的命令行選項,用于啟動Java虛擬機的命令行選項列表:etc/jvm.config。

[root@hop01 etc]# vim jvm.config -server -Xmx16G -XX:+UseG1GC -XX:G1HeapRegionSize=32M -XX:+UseGCOverheadLimit -XX:+ExplicitGCInvokesConcurrent -XX:+HeapDumpOnOutOfMemoryError -XX:+ExitOnOutOfMemoryError

配置屬性

Presto服務(wù)器的配置,每個Presto服務(wù)器都可以充當(dāng)協(xié)調(diào)器和工作器,如果單獨使用一臺機器來執(zhí)行協(xié)調(diào)工作可以在更大的集群上提供最佳性能,這里PrestoServer既當(dāng)一個coordinator也是一個worker節(jié)點:etc/config.properties。

[root@hop01 etc]# vim config.properties coordinator=true node-scheduler.include-coordinator=true http-server.http.port=8083 query.max-memory=3GB query.max-memory-per-node=1GB discovery-server.enabled=true discovery.uri=http://hop01:8083

這里coordinator=true表示當(dāng)前Presto實例充當(dāng)協(xié)調(diào)器角色。

日志配置

[root@hop01 etc]# vim log.properties com.facebook.presto=INFO

Catalog屬性

/opt/presto/presto-server-0.189/etc/catalog

配置hive適配:

[root@hop01 catalog]# vim hive.properties connector.name=hive-hadoop2 hive.metastore.uri=thrift://192.168.37.133:9083

配置MySQL適配:

[root@hop01 catalog]# vim mysql.properties connector.name=mysql connection-url=jdbc:mysql://192.168.37.133:3306 connection-user=root connection-password=123456

3、運行服務(wù)

啟動命令

[root@hop01 /]# /opt/presto/presto-server-0.189/bin/launcher run

啟動日志

這樣presto就啟動成功了。

三、客戶端安裝

1、Jar包管理

[root@hop01 presto-cli]# pwd /opt/presto/presto-cli [root@hop01 presto-cli]# ll presto-cli-0.196-executable.jar [root@hop01 presto-cli]# mv presto-cli-0.196-executable.jar presto-cli.jar

2、連接MySQL

java -jar presto-cli.jar --server ip:9000 --catalog mysql --schema sq_export

四、源代碼地址

GitHub·地址 https://github.com/cicadasmile/big-data-parent GitEE·地址 https://gitee.com/cicadasmile/big-data-parent

閱讀標(biāo)簽

【Java基礎(chǔ)】【設(shè)計模式】【結(jié)構(gòu)與算法】【Linux系統(tǒng)】【數(shù)據(jù)庫】

【分布式架構(gòu)】【微服務(wù)】【大數(shù)據(jù)組件】【SpringBoot進階】【Spring&Boot基礎(chǔ)】

【數(shù)據(jù)分析】【技術(shù)導(dǎo)圖】【 職場】

總結(jié)

以上是生活随笔為你收集整理的OLAP引擎:基于Presto组件进行跨数据源分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。