Trino и Presto на собеседовании Data Engineer

Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

Карьерник — Duolingo для аналитиков: 10 минут в день тренируй SQL, Python, A/B, статистику, метрики и ещё 3 темы собеса. 1500+ вопросов в Telegram-боте. Бесплатно.

Зачем спрашивают на собесе DE

Trino — стандарт ad-hoc SQL поверх lake. На собесе DE: «отличие от Spark», «federated queries», «когда использовать».

Trino vs Presto

Изначально Presto (Facebook 2012). В 2020 split:

  • Trino (старая команда, ex-Facebook) — community-driven, активное development.
  • PrestoDB — Facebook fork.

В 2026 — Trino doминирует open source. PrestoDB остался в legacy.

Архитектура

MPP (Massively Parallel Processing).

[Coordinator] ── parses, plans, distributes
   ↓
[Worker 1] [Worker 2] [Worker N]
   ↓          ↓           ↓
[Connector to data sources]

В отличие от Spark. Trino — pure SQL engine, без Spark API. Не делает ETL, делает interactive queries.

Federated queries

Trino может join несколько sources в одном query.

SELECT u.name, o.amount
FROM postgres.public.users u
JOIN hive.warehouse.orders o ON u.id = o.user_id
WHERE o.created_at > '2026-05-01';

Postgres + Hive lake + Kafka + ElasticSearch — всё в одном запросе.

Connectors. 50+ — Hive, Iceberg, Delta, Postgres, MySQL, MongoDB, Cassandra, Elasticsearch, Kafka, ClickHouse и т.д.

Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

Сравнение с Spark

Trino Spark
Фокус Interactive SQL Batch + ETL
Latency Низкая (sec) Высокая (min)
Throughput Лучше для query Лучше для ETL
API SQL только DataFrame, SQL, RDD, ML
Streaming Нет Да
State In-memory Disk + memory
ETL workload Слабее Лучше

Pattern: Trino для ad-hoc / dashboards, Spark для ETL / ML.

Применение

Ad-hoc analytics. Аналитик пишет SQL, Trino отвечает в секундах на TB-данных.

BI / dashboards. Tableau / Superset → Trino → lake.

Federated queries. Нужно join Postgres OLTP с lake OLAP — Trino позволяет.

Migration helper. Из Hive в новые форматы — Trino читает оба.

В РФ: используется в больших data-командах (Avito, Yandex). Альтернатива — Apache Druid (другой profile).

Частые ошибки

Использовать Trino для ETL. Slow для тяжёлых transformations. Spark / dbt лучше.

Тяжёлые joins без stats. Trino без ANALYZE TABLE выбирает плохой plan.

Большие result set. Trino streams results через coordinator — coordinator OOM.

Без cluster scaling. Default config — для small cluster. Production требует tuning.

Connectors с малым performance. Postgres / MySQL connectors slow на больших datasets — лучше дать lake.

Связанные темы

FAQ

Trino быстрее Spark SQL?

На interactive queries — обычно да (нет JVM warmup). На batch ETL — Spark.

Это официальная информация?

Нет. Статья основана на документации Trino / Presto.


Тренируйте Data Engineering — откройте тренажёр с 1500+ вопросами для собесов.