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一站式服務。