京東開源的分布式SQL查詢引擎:Presto

wge7 9年前發布 | 33K 次閱讀 Presto

Presto是什么?

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

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

它可以做什么?

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

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

誰在使用它?

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

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

Presto令人吃驚。 首席工程師Andy Kramolisch剛在生產環境使用了幾天。 在大多數情況下它比Hive快幾個數量級。 與Redshift不同,它直接從HDFS讀取數據,在使用前不需要大量的ETL操作,就可以工作。

Christopher Gutierrez, 在線分析經理, Airbnb

我們對Presto感到非常興奮。 我們打算用它快速獲取用戶使用Dropbox的不同方式,以及診斷他們遇到的問題。 在我們目前的測試中,它應用于某些最重要的特別用例,它表現穩定并且非常快。

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

京東開源的分布式SQL查詢引擎:Presto

需求

Presto的基本需求

  • Linux or Mac OS X
  • Java 8, 64-bit
  • Python 2.4+

連接器

Presto支持插接式連接器提供的數據。 各連接器的設計需求會有所不同。

Hadoop / Hive

Presto支持從以下版本的Hadoop中讀取Hive數據:

  • Apache Hadoop 1.x
  • Apache Hadoop 2.x
  • Cloudera CDH 4
  • Cloudera CDH 5

支持以下文件類型:Text, SequenceFile, RCFile, ORC

此外,需要有遠程的Hive元數據。 不支持本地或嵌入模式。 Presto不使用MapReduce,只需要HDFS。

Cassandra

必須有Cassandra 2.x。 這種連接器完全不依賴Hive連接器,只需要一個安裝好的Cassandra。

TPC-H

TPC-H連接器動態生成數據,可以用于實驗與測試Presto。 此連接器沒有額外要求。

部署

詳細的部署方法見 Presto部署 說明。

執行查詢

完成Presto部署后,你可以使用 命令行接口 執行查詢。


項目主頁:http://www.baiduhome.net/lib/view/home/1435239682278

 本文由用戶 wge7 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!