Categories
程式開發

Presto在滴滴的探索與實踐


1. Presto簡介

1.1 簡介

Presto是Facebook開源的MPP(Massive Parallel Processing)SQL引擎,其理念來源於一個叫Volcano的並行數據庫,該數據庫提出了一個並行執行SQL的模型,它被設計為用來專門進行高速、實時的數據分析。 Presto是一個SQL計算引擎,分離計算層和存儲層,其不存儲數據,通過Connector SPI實現對各種數據源(Storage)的訪問。

1.2 架構

Presto在滴滴的探索與實踐 1

Presto沿用了通用的Master-Slave架構,一個Coordinator,多個Worker。 Coordinator負責解析SQL語句,生成執行計劃,分發執行任務給Worker節點執行;Worker節點負責實際執行查詢任務。 Presto提供了一套Connector接口,用於讀取元信息和原始數據,Presto 內置有多種數據源,如Hive、MySQL、Kudu、Kafka 等。同時,Presto 的擴展機制允許自定義Connector,從而實現對定制數據源的查詢。假如配置了Hive Connector,需要配置一個Hive MetaStore服務為Presto提供Hive元信息,Worker節點通過Hive Connector與HDFS交互,讀取原始數據。

原文鏈接:【https://www.infoq.cn/article/VOhWXCQBkP8JfjwDFrV4】。未經作者許可,禁止轉載。