App下載

為什么說Presto是數(shù)據(jù)分析堆棧基礎(chǔ)? Presto是數(shù)據(jù)分析堆?;A(chǔ)5大理由!

君心似我心 2021-09-09 15:34:11 瀏覽數(shù) (6795)
反饋

數(shù)據(jù)工程師和分析師對大量數(shù)據(jù)運行交互式臨時分析的需求繼續(xù)呈爆炸性增長。數(shù)據(jù)平臺團隊越來越多地使用聯(lián)合SQL 查詢引擎 PrestoDB 為各種用例運行此類分析,跨越廣泛的數(shù)據(jù)湖和數(shù)據(jù)庫就地,而無需移動數(shù)據(jù)。PrestoDB 由 Linux 基金會的Presto 基金會托管,是在 Facebook、Uber 和 Twitter 上大規(guī)模運行的同一個項目。

讓我們來看看 Presto 的一些重要特征,這些特征解釋了它的日益普及。  

更輕松地與生態(tài)系統(tǒng)集成 

Presto 旨在與現(xiàn)有數(shù)據(jù)生態(tài)系統(tǒng)無縫集成,無需對正在進行的系統(tǒng)進行任何修改。這就像使用額外的更快的數(shù)據(jù)訪問接口為您現(xiàn)有的堆棧增壓。

Presto 提供額外的計算層以加快分析速度。它不存儲數(shù)據(jù),這使它具有能夠根據(jù)需求向上和向下擴展查詢資源的巨大優(yōu)勢。

這種計算和存儲分離使 Presto 查詢引擎非常適合云環(huán)境。大多數(shù)云部署利用對象存儲,它已經(jīng)從計算層中分離出來,并自動擴展以優(yōu)化資源成本。

統(tǒng)一的 SQL 接口 

SQL 是迄今為止最古老、使用最廣泛的數(shù)據(jù)分析語言。分析師、數(shù)據(jù)工程師和數(shù)據(jù)科學家使用 SQL 來探索數(shù)據(jù)、構(gòu)建儀表板并通過 Jupyter 和 Zeppelin 等筆記本或 Tableau、PowerBI 和 Looker 等 BI 工具來測試假設(shè)。 

Presto 是一個聯(lián)合查詢引擎,它不僅能夠從分布式文件系統(tǒng)中查詢數(shù)據(jù),還能夠從其他來源查詢數(shù)據(jù),例如 Cassandra、Elasticsearch 和 RDBMS 等 NoSQL 存儲,甚至是 Kafka 等消息隊列。

表現(xiàn)

Facebook 團隊開發(fā) Presto 是因為 Apache Hive 不適合交互式查詢。Hive 的下劃線架構(gòu)通過執(zhí)行多個 MapReduce 和 Tez 作業(yè)來執(zhí)行查詢,非常適合大型復雜作業(yè),但不適用于低延遲查詢。Hive 項目最近使用 Hive LLAP 引入了內(nèi)存緩存;然而,它適用于某些類型的查詢,但它也使 Hive 更加資源密集。 

同樣,Apache Spark 非常適合使用內(nèi)存計算的大型復雜作業(yè)。但是,它不如 Presto 交互式 BI 查詢有效。 

Presto 專為高性能而打造,具有多項關(guān)鍵功能和優(yōu)化,例如代碼生成、內(nèi)存中處理和流水線執(zhí)行。Presto 查詢在工作節(jié)點上共享一個長期存在的 Java 虛擬機 (JVM) 進程,從而避免了產(chǎn)生新 JVM 容器的開銷。

查詢聯(lián)合

Presto 提供了一個統(tǒng)一的 SQL 方言,可以抽象出所有支持的數(shù)據(jù)源。這是一項強大的功能,用戶無需了解底層系統(tǒng)的連接和 SQL 方言。 

適合云的設(shè)計 

Presto 將存儲和計算分開運行的基本設(shè)計使其在云環(huán)境中操作極其方便。由于 Presto 集群不存儲任何數(shù)據(jù),因此可以根據(jù)負載自動擴展,而不會造成任何數(shù)據(jù)丟失。

如您所見,Presto 為交互式即席查詢提供了許多優(yōu)勢。難怪數(shù)據(jù)平臺團隊越來越多地使用 Presto 作為事實上的 SQL 查詢引擎,在不需要移動數(shù)據(jù)的情況下跨數(shù)據(jù)源運行分析。


0 人點贊