Учебники

Apache Presto — Архитектура

Архитектура Presto почти аналогична классической архитектуре СУБД MPP (массивно-параллельная обработка). Следующая диаграмма иллюстрирует архитектуру Presto.

Престо Архитектура

Приведенная выше диаграмма состоит из разных компонентов. Следующая таблица подробно описывает каждый компонент.

S.No Компонент и описание
1.

клиент

Клиент (Presto CLI) отправляет операторы SQL координатору для получения результата.

2.

координатор

Координатор — мастер-демон. Координатор сначала анализирует запросы SQL, а затем анализирует и планирует выполнение запроса. Планировщик выполняет конвейерное выполнение, назначает работу ближайшему узлу и контролирует ход выполнения.

3.

соединитель

Плагины для хранения называются коннекторами. Hive, HBase, MySQL, Cassandra и многие другие выступают в качестве соединителя; в противном случае вы также можете реализовать пользовательский. Соединитель предоставляет метаданные и данные для запросов. Координатор использует соединитель для получения метаданных для построения плана запроса.

4.

работник

Координатор назначает задачу рабочим узлам. Рабочие получают фактические данные от соединителя. Наконец, рабочий узел доставляет результат клиенту.

клиент

Клиент (Presto CLI) отправляет операторы SQL координатору для получения результата.

координатор

Координатор — мастер-демон. Координатор сначала анализирует запросы SQL, а затем анализирует и планирует выполнение запроса. Планировщик выполняет конвейерное выполнение, назначает работу ближайшему узлу и контролирует ход выполнения.

соединитель

Плагины для хранения называются коннекторами. Hive, HBase, MySQL, Cassandra и многие другие выступают в качестве соединителя; в противном случае вы также можете реализовать пользовательский. Соединитель предоставляет метаданные и данные для запросов. Координатор использует соединитель для получения метаданных для построения плана запроса.

работник

Координатор назначает задачу рабочим узлам. Рабочие получают фактические данные от соединителя. Наконец, рабочий узел доставляет результат клиенту.

Presto — рабочий процесс

Presto — это распределенная система, которая работает на кластере узлов. Механизм распределенных запросов Presto оптимизирован для интерактивного анализа и поддерживает стандарт ANSI SQL, включая сложные запросы, агрегации, объединения и оконные функции. Архитектура Presto проста и расширяема. Клиент Presto (CLI) отправляет операторы SQL координатору главного демона.

Планировщик подключается через конвейер выполнения. Планировщик назначает работу узлам, ближайшим к данным, и отслеживает ход выполнения. Координатор назначает задачу нескольким рабочим узлам, и, наконец, рабочий узел доставляет результат обратно клиенту. Клиент извлекает данные из процесса вывода. Расширяемость является ключевым дизайном. Сменные соединители, такие как Hive, HBase, MySQL и т. Д., Предоставляют метаданные и данные для запросов. Presto был разработан с «простой абстракцией хранилища», которая упрощает предоставление возможности SQL-запросов к этим различным типам источников данных.

Модель исполнения

Presto поддерживает пользовательский механизм запросов и выполнения с операторами, разработанными для поддержки семантики SQL. В дополнение к улучшенному планированию вся обработка выполняется в памяти и передается по сети между различными этапами. Это позволяет избежать ненужных издержек ввода-вывода.