Курс на Stepik
Обложка курса «Trino и Presto для дата-инженеров» на Stepik
Бесплатно

Trino и Presto для дата-инженеров 5.000

Открыть на
STEPIK.ORG

Trino 482 и PrestoDB для дата-инженеров: распределённый SQL, федерация, PostgreSQL, S3, Hive, Iceberg, Delta Lake, оптимизация, безопасность и эксплуатация.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Trino и Presto для дата-инженеров»Учеников на курсе 29
Сертификаты, выданные на курсе «Trino и Presto для дата-инженеров»Сертификатов выдано 0
Отзывы о курсе «Trino и Presto для дата-инженеров»Отзывов получено 1
Рейтинг курса «Trino и Presto для дата-инженеров»Рейтинг курса 5.000
Уроки в курсе «Trino и Presto для дата-инженеров»Количество уроков 155
Тесты в курсе «Trino и Presto для дата-инженеров»Количество квизов 666
Время прохождения курса «Trino и Presto для дата-инженеров»Время прохождения курса
Обновления курса «Trino и Presto для дата-инженеров»Обновления курса
Дата публикации курса «Trino и Presto для дата-инженеров»Дата публикации курса
Последнее обновление курса «Trino и Presto для дата-инженеров»Последнее обновление
Сложность normal

Содержание курса

Разделы в курсе «Trino и Presto для дата-инженеров» 22 раздела Уроки в курсе «Trino и Presto для дата-инженеров» 155 уроков Тесты в курсе «Trino и Presto для дата-инженеров» 666 тестов Время прохождения курса «Trino и Presto для дата-инженеров» 0 ч. Последнее обновление курса «Trino и Presto для дата-инженеров» обн. 19 июля 2026

Модуль 1. Введение: зачем дата-инженеру Trino/Presto и среда

7 уроков
1. Почему распределённый SQL-движок — новый стандарт аналитики
2. Карта курса: от первого запроса до production-кластера
3. Рабочее окружение: Docker, Trino CLI и первый контейнер
4. Что такое Trino и при чём тут Presto: история одного форка
5. Trino vs Spark vs Flink: когда выбирать распределённый SQL
6. Архитектура на пальцах: coordinator, workers, connectors
7. Как выполнять практику и проверять себя

Модуль 2. Первые запросы: Trino CLI и диалект SQL

7 уроков
1. Подключение к Trino через CLI и первый SELECT
2. Базовый синтаксис: SELECT, FROM, WHERE, ORDER BY, LIMIT
3. Типы данных в Trino: числа, строки, даты, булевы значения
4. NULL и трёхзначная логика: ловушки распределённого SQL
5. Выражения и вычисляемые столбцы
6. Комментарии, форматирование и чтение ошибок Trino
7. Лаборатория: первые запросы к коннектору TPCH

Модуль 3. Схема данных: каталоги, схемы и таблицы

7 уроков
1. Система каталогов: catalog.schema.table — трёхуровневая…
2. Создание и исследование таблиц: SHOW, DESCRIBE…
3. Типы таблиц: physical, view, materialized view
4. Партиции и хранение: как Trino видит данные подсистем хранения
5. Создание данных через CREATE TABLE AS и INSERT INTO
6. Работа с временными таблицами и WITH (CTE)
7. Лаборатория: создаём таблицы через коннектор Memory

Модуль 4. Структурные типы и полуструктурированные данные

7 уроков
1. Массивы ARRAY: хранение, доступ и агрегация
2. Ассоциативные массивы MAP: ключ-значение в колонке
3. Структуры ROW: именованные поля внутри одной колонки
4. UNNEST: разворачивание массивов и maps в строки
5. Работа с JSON: функции json_parse, json_extract, json_query
6. JSON-массивы и вложенные структуры: практические приёмы
7. Лаборатория: разбираем полуструктурированный лог событий

Модуль 5. Агрегации и группировки

7 уроков
1. GROUP BY и базовые агрегатные функции
2. HAVING: фильтрация после агрегации
3. DISTINCT и APPROX_DISTINCT: точная и приближённая уникальность
4. FILTER: агрегация с условием
5. GROUPING SETS, CUBE, ROLLUP: многомерная агрегация
6. Оконные функции: OVER, PARTITION BY, ORDER BY
7. Лаборатория: строим аналитическую витрину по заказам

Модуль 6. Соединение таблиц и подзапросы

7 уроков
1. INNER JOIN и LEFT JOIN: классика распределённого SQL
2. RIGHT JOIN, FULL JOIN и CROSS JOIN
3. SEMI JOIN и ANTI JOIN: EXISTS и NOT EXISTS
4. Коррелированные и некоррелированные подзапросы
5. LATERAL: подзапросы, ссылающиеся на внешнюю строку
6. UNION, INTERSECT, EXCEPT: операции над множествами
7. Лаборатория: соединяем заказы, клиентов и товары из разных…

Модуль 7. Планирование и оптимизация запросов: первый взгляд

7 уроков
1. EXPLAIN: как читать план запроса — первый взгляд
2. Логический план: что Trino думает о вашем SQL до оптимизации
3. Физический план: stages, tasks, splits и exchanges
4. EXPLAIN ANALYZE: реальные метрики выполнения
5. Rule-based оптимизация: predicate pushdown, column pruning
6. Cost-based оптимизация: статистика таблиц и выбор JOIN-стратегии
7. Лаборатория: профилируем запрос и находим узкое место

Модуль 8. Коннектор PostgreSQL: федеративные запросы

7 уроков
1. Архитектура коннектора: как Trino читает внешнюю базу
2. Настройка PostgreSQL-коннектора и первое подключение
3. Pushdown в PostgreSQL: что уходит в базу, а что — нет
4. Запись в PostgreSQL: INSERT, CTAS, DELETE и транзакции
5. Соединение таблиц из разных источников: Trino + PostgreSQL
6. Производительность федеративных запросов: узкие места
7. Лаборатория: федеративный отчёт из PostgreSQL через Trino

Модуль 9. Object Storage, Hive и открытые форматы

7 уроков
1. Почему данные уходят из баз данных в файлы на S3
2. Parquet: колоночный формат для аналитики
3. ORC и Avro: сценарии применения
4. Hive-коннектор: metastore как каталог файлов
5. Partition pruning: читаем только нужные партиции
6. Работа с partitioned-таблицами: создание и запросы
7. Лаборатория: создаём Hive-таблицу поверх Parquet на S3

Модуль 10. Iceberg: современный табличный формат

7 уроков
1. Что такое Apache Iceberg и почему это стандарт lakehouse
2. Iceberg REST Catalog и коннектор Trino
3. Создание таблиц Iceberg: схемы, партиции и свойства
4. Эволюция схемы: ADD COLUMN, DROP COLUMN, RENAME без перезаписи
5. Time travel: читаем таблицу на определённый момент времени
6. MERGE и UPDATE в Iceberg: DML для lakehouse
7. Лаборатория: строим Iceberg-витрину с time travel

Модуль 11. Delta Lake и сравнение форматов

7 уроков
1. Delta Lake в Trino: коннектор и возможности
2. Создание и запись в Delta-таблицы
3. MERGE и DELETE в Delta Lake
4. Сравнение Iceberg и Delta Lake: когда что выбирать
5. Hudi в экосистеме Trino/Presto: обзорная лаборатория
6. Миграция между форматами: сценарии и инструменты
7. Лаборатория: пишем сквозной пайплайн через два формата

Модуль 12. Углублённая архитектура выполнения

7 уроков
1. Coordinator: парсинг, планирование и диспетчеризация запроса
2. Worker: splits, drivers, operators и pages — конвейер выполнения
3. Exchange: broadcast, hash-partitioned и gather — как данные…
4. Stages и schedule: как запрос делится на этапы
5. Task concurrency и pipelining: параллелизм внутри и между…
6. Spooling protocol: обмен данными через диск при нехватке памяти
7. Лаборатория: трассируем жизненный цикл одного запроса

Модуль 13. Продвинутая оптимизация

7 уроков
1. Dynamic filtering: фильтрация больших таблиц данными из малых
2. Join distribution: broadcast, partitioned и стратегии выбора
3. Table statistics и ANALYZE: почему статистика критична
4. Skew и её влияние: перекошенные ключи и способы борьбы
5. Spill to disk: когда памяти не хватает
6. Small files и compaction: проблема и решение
7. Лаборатория: оптимизируем проблемный JOIN от 5 минут до 30…

Модуль 14. Наблюдаемость и отладка

7 уроков
1. Web UI: мониторинг запросов в реальном времени
2. JMX и метрики: что измерять в production
3. Event Listeners: логирование событий запросов
4. Логи Trino: http-request.log, server.log и уровни детализации
5. OpenTelemetry и трассировка запросов
6. Диагностика: медленный запрос, перекос, утечка памяти
7. Лаборатория: находим и чиним production-инцидент

Модуль 15. Безопасность

7 уроков
1. Аутентификация: пароль, LDAP, OAuth2, certificate
2. Авторизация: system и connector-level access control
3. File-based и Ranger access control в Trino
4. OPA (Open Policy Agent) для Trino
5. Impersonation: выполнение запросов от имени конечного…
6. TLS: шифрование на всех каналах
7. Лаборатория: настраиваем защищённый кластер Trino

Модуль 16. Управление ресурсами и нагрузкой

7 уроков
1. Resource groups: очереди и приоритеты запросов
2. Политики планирования: fair, weighted, weighted_fair
3. Query limits: время выполнения, память, CPU на запрос
4. Concurrency и очереди: защита от лавины запросов
5. Resource groups для multi-tenant: изоляция команд и проектов
6. Capacity planning: сколько worker'ов нужно кластеру
7. Лаборатория: настраиваем resource groups для трёх команд

Модуль 17. Развёртывание и эксплуатация

7 уроков
1. Режимы деплоя: Docker Compose, bare-metal, Kubernetes
2. Trino на Kubernetes: Helm-чарт и конфигурация
3. Graceful shutdown и drain worker'ов
4. Обновление версии Trino без простоя (rolling upgrade)
5. Disaster recovery: savepoints, backup конфигурации и metastore
6. Масштабирование: добавление и удаление worker'ов
7. Лаборатория: разворачиваем production-кластер в Docker

Модуль 18. Trino в экосистеме дата-инженера

7 уроков
1. Airflow + Trino: оркестрация пайплайнов
2. dbt + Trino: трансформации как код
3. Superset и другие BI-инструменты поверх Trino
4. Python-клиент Trino: скрипты и автоматизация
5. JDBC: интеграция с Java-приложениями
6. Качество данных поверх Trino: Great Expectations / Soda
7. Лаборатория: строим dbt-проект поверх Trino + Iceberg

Модуль 19. PrestoDB: сравнение и особенности

7 уроков
1. PrestoDB 0.298: установка и первое подключение
2. Различия в конфигурации и администрировании
3. Различия в SQL-диалекте и коннекторах
4. Presto C++ / Velox: нативный worker и производительность
5. Сравнение производительности Trino vs PrestoDB на типовых…
6. Миграция между Trino и PrestoDB: что нужно знать
7. Лаборатория: сравниваем Trino и PrestoDB на одних данных

Модуль 20. Продвинутые темы и производительность

7 уроков
1. User-Defined Functions (UDF): пишем свою агрегатную функцию
2. SPI коннекторов: как устроен коннектор изнутри
3. Fault-tolerant execution: большие batch-запросы без падений
4. Тюнинг JVM для Trino: GC, heap, direct memory
5. Бенчмаркинг Trino: методология и инструменты
6. Аппаратные аспекты: сеть, диски, CPU для Trino-кластера
7. Лаборатория: бенчмарк и тюнинг production-нагрузки

Модуль 21. Senior System Design и архитектура

7 уроков
1. Проектирование аналитической платформы на Trino
2. Мультикластерная архитектура: разделение по нагрузкам
3. Trino + lakehouse (Iceberg/Delta) как замена классическому DWH
4. Стоимость: Trino в облаке vs on-premises
5. SLO/SLA для Trino-кластера: метрики и договорённости
6. Disaster recovery и business continuity для аналитической…
7. Чек-лист: готовность Trino к production

Модуль 22. Итоговый проект и дорожная карта

8 уроков
1. Постановка итогового проекта: аналитическая система E-Shop
2. Проектируем схему данных: источники, слои, витрины
3. Разворачиваем production-окружение проекта
4. Реализация: федеративные запросы и Iceberg-витрины
5. Настройка безопасности и resource groups
6. Мониторинг, алертинг и инцидент-менеджмент
7. Презентация проекта: защита архитектурных решений
8. Дорожная карта: Trino/Presto internals, сообщество и карьера