Presto是一款由FaceBook開源的一個分布式SQL-on—Hadoop分析引擎。Presto目前由開源社區和FaceBook內部工程師共同維護,並衍生出多個商業版本。
基本特性
Presto使用Java語言進行開發,具備易用、高效能、強擴充能力等特點,具體的:
- 完全支援ANSI SQL。
-
支援豐富的資料來源 Presto可接入豐富的資料來源,如下所示:
- 與Hive數倉互操作
- Cassandra
- Kafka
- MongoDB
- MySQL
- PostgreSQL
- SQL Server
- Redis
- Redshift
- 本地檔案
-
支援進階資料結構:
- 支援數組和Map資料。
- 支援JSON資料。
- 支援GIS資料。
- 支援顏色資料。
-
功能擴充能力強 Presto提供了多種擴充機制,包括:
- 擴充資料連線器。
- 自訂資料類型。
- 自訂SQL函數。
使用者可以根據自身業務特點擴充相應的模組,實現高效的業務處理。
-
基於Pipeline處理模型 資料在處理過程中即時返回給使用者。
-
監控介面完善:
- 提供友好的WebUI,可視化的呈現查詢任務執行過程。
- 支援JMX協議。
應用情境
Presto是定位在資料倉儲和資料分析業務的分布式SQL引擎,比較適合如下幾個應用情境:
- ETL
- Ad-Hoc查詢
- 海量結構化資料/半結構化資料分析
- 海量多維資料彙總/報表
特別需要注意的是,Presto是一個數倉類產品,其設計目標並不是為了替代MySQL、PostgreSQL等傳統的RDBMS資料庫,對事務對支援有限,不適合線上業務情境。
產品優勢
EMR Presto產品除了開源Presto本身具有的優點外,還具備如下優勢:
- 即買即用 分分鐘完成上百節點的Presto叢集搭建。
- 彈性擴容 簡單操作即可完成叢集的擴容和縮容。
- 與EMR軟體棧完美結合,支援處理儲存在OSS的資料。
- 免營運 7*24一站式服務。