Presto Step by Step之一Presto簡介

Presto Dummy教程之一Presto簡介

Presto歷史

Facebook的數據倉庫存儲在少許大型Hadoop/HDFS集羣。Hive是Facebook在幾年前專爲Hadoop打造的一款數據倉庫工具。在之前,Facebook的科學家和分析師一直依靠Hive來作數據分析。但Hive使用MapReduce做爲底層計算框架,是專爲批處理設計的。但隨着數據愈來愈多,使用Hive進行一個簡單的數據查詢可能要花費幾分到幾小時,顯然不能知足交互式查詢的需求。Facebook也調研了其餘比Hive更快的工具,但它們要麼在功能有所限制要麼就太簡單,以致於沒法操做Facebook龐大的數據倉庫。html

2012年開始試用的一些外部項目都不合適,他們決定本身開發,這就是Presto。2012年秋季開始開發,目前該項目已經在超過 1000名Facebook僱員中使用,運行超過30000個查詢,每日數據在1PB級別。Facebook稱Presto的性能比Hive要好上10倍多。2013年Facebook正式宣佈開源Presto。架構

Presto架構

Presto查詢引擎是一個Master-Slave的架構,由框架

  • 一個Coordinator節點, Discovery Server一般內嵌於Coordinator節點中
  • 一個Discovery Server節點
  • 多個Worker節點組成

Coordinator負責解析SQL語句,生成執行計劃,分發執行任務給Worker節點執行。
Worker節點負責實際執行查詢任務。Worker節點啓動後向Discovery Server服務註冊,Coordinator從Discovery Server得到能夠正常工做的Worker節點。若是配置了Hive Connector,須要配置一個Hive MetaStore服務爲Presto提供Hive元信息,Worker節點與HDFS交互讀取數據。ide

參考

相關文章
相關標籤/搜索