3. Presto 基本架构

基本架构

硬件架构

presto-hardware-arch

软件架构

presto-software-arch

Client

通过jdbc/odbc方式接入的服务,用于发送查询请求以及接受查询结果。

Coordinator

Presto集群的主节点,接受查询请求、解析SQL生成查询执行计划,任务的调度以及worker节点的管理工作。

Worker

执行任务的节点。

Airlift

一个轻量级的REST服务的框架,框架集成了Jetty以及Netty等。

Discovery Service

一般和Coordinator同节点,是Airlift提供的一个服务发现机制,worker启动之后会向该服务发送信息,通过该服务Coordinator可以知道目前Presto集群的worker情况。

Connector

Presto中所有查询的数据都是通过connector提供的。即使你的数据源中没有任何基础数据表,但是只要你的数据源实现了Presto中要求的API(presto-spi),就可以从自定义的数据源中进行查询。

presto-hive-connector

数据模型

presto-data-model

Catalog

数据源实例,可以通过使用特定的Connector来访问Catalog中指定的数据源。
presto-show-catalogs

Schema

库,即类似于Hive中的Database。
presto-show-schemas

Table

表,即类似于Hive中的table,通过catalog.schema.table可以确定要查询的唯一表。
presto-show-tables