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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

分布式大数据sql查询引擎Presto初识

發(fā)布時間:2025/4/16 编程问答 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 分布式大数据sql查询引擎Presto初识 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、背景:

Hive使用MapReduce作為底層計算框架,是專為批處理設(shè)計的。但隨著數(shù)據(jù)越來越多,使用Hive進行一個簡單的數(shù)據(jù)查詢可能要花費幾分到幾小時,顯然不能滿足交互式查詢的需求。Presto是一個分布式SQL查詢引擎,它被設(shè)計為用來專門進行高速、實時的數(shù)據(jù)分析。它支持標準的ANSI SQL,包括復(fù)雜查詢、聚合(aggregation)、連接(join)和窗口函數(shù)(window functions)。

這其中有兩點就值得探究,首先是架構(gòu),其次自然是怎么做到低延遲來支持及時交互。

2、Presto架構(gòu)


Presto查詢引擎是一個Master-Slave的架構(gòu),由一個Coordinator節(jié)點,一個Discovery Server節(jié)點,多個Worker節(jié)點組成,Discovery Server通常內(nèi)嵌于Coordinator節(jié)點中。Coordinator負責解析SQL語句,生成執(zhí)行計劃,分發(fā)執(zhí)行任務(wù)給Worker節(jié)點執(zhí)行。Worker節(jié)點負責實際執(zhí)行查詢?nèi)蝿?wù)。Worker節(jié)點啟動后向Discovery Server服務(wù)注冊,Coordinator從Discovery Server獲得可以正常工作的Worker節(jié)點。如果配置了Hive Connector,需要配置一個Hive MetaStore服務(wù)為Presto提供Hive元信息,Worker節(jié)點與HDFS交互讀取數(shù)據(jù)。


3、Presto即時查詢原理

Presto的運行模型和Hive或MapReduce有著本質(zhì)的區(qū)別。Hive將查詢翻譯成多階段的MapReduce任務(wù),一個接著一個地運行;每一個任務(wù)從磁盤上讀取輸入數(shù)據(jù)并且將中間結(jié)果輸出到磁盤上。

Presto引擎沒有使用MapReduce,而是使用一個定制的查詢執(zhí)行引擎來響應(yīng)支持SQL語法。除了改進的調(diào)度算法之外,所有的數(shù)據(jù)處理都是在內(nèi)存中進行的;不同的處理端通過網(wǎng)絡(luò)組成處理的流水線;避免不必要的磁盤讀寫和額外的延遲。這種流水線式的執(zhí)行模型會在同一時間運行多個數(shù)據(jù)處理段,一旦數(shù)據(jù)可用的時候就會將數(shù)據(jù)從一個處理段傳入到下一個處理段,大大的減少各種查詢的端到端響應(yīng)時間。特點如下:

1)完全基于內(nèi)存的并行計算

2)流水線

3)本地化計算

4)動態(tài)編譯執(zhí)行計劃

5)小心使用內(nèi)存和數(shù)據(jù)結(jié)構(gòu)

6)類BlinkDB的近似查詢

7)GC控制

4、Presto執(zhí)行查詢過程

參考:http://tech.meituan.com/presto.html

?

5、Presto安裝部署

參考:http://prestodb-china.com/docs/current/installation.html

?

《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的分布式大数据sql查询引擎Presto初识的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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