大數據系列之分布式大數據查詢引擎Presto


關於presto部署及詳細介紹請參考官方鏈接 http://prestodb-china.com

PRESTO是什么?

Presto是一個開源的分布式SQL查詢引擎,適用於交互式分析查詢,數據量支持GB到PB字節。

Presto的設計和編寫完全是為了解決像Facebook這樣規模的商業數據倉庫的交互式分析和處理速度的問題。

它可以做什么?

Presto支持在線數據查詢,包括Hive, Cassandra, 關系數據庫以及專有數據存儲。 一條Presto查詢可以將多個數據源的數據進行合並,可以跨越整個組織進行分析。

Presto以分析師的需求作為目標,他們期望響應時間小於1秒到幾分鍾。 Presto終結了數據分析的兩難選擇,要么使用速度快的昂貴的商業方案,要么使用消耗大量硬件的慢速的“免費”方案。

誰在使用它?

Facebook使用Presto進行交互式查詢,用於多個內部數據存儲,包括300PB的數據倉庫。 每天有1000多名Facebook員工使用Presto,執行查詢次數超過30000次,掃描數據總量超過1PB。

領先的互聯網公司包括Airbnb和Dropbox都在使用Presto。

Presto是一個運行在多台服務器上的分布式系統。 完整安裝包括一個coordinator和多個worker。 由客戶端提交查詢,從Presto命令行CLI提交到coordinator。 coordinator進行解析,分析並執行查詢計划,然后分發處理隊列到worker。

 

本文介紹Hive與Presto的優缺點:

  1.  執行效率比較:
    1. Hive是Facebook在幾年前專為Hadoop打造的一款數據倉庫工具。因為它主要依賴MapReduce進行運行,所以隨着年齡的上升,其在速度上已不能滿足日益增長的數據要求。瀏覽一個完整的數據集可能要花費幾分到幾小時,這完全是不切實際的。
    2. Presto進行簡單的查詢只需要幾百毫秒,即使是非常復雜的查詢,也只需數分鍾即可完成,它在內存中運行,並且不會向磁盤寫入。
  2. 原理比較:
    1. Hive是依賴MapReduce進行運行,這個在之前關於Hive的博文中是有介紹的。MR在運行過程中會將結果落入HDFS上,這個比較耗時的。見下圖:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM