Обработка бывает двух типов: пакетная (когда данные обрабатывают порциями по расписанию) и потоковая (когда события разбирают на лету). Отдельно стоят SQL-движки — они позволяют делать запросы к данным напрямую, без предварительной загрузки в хранилище.
Spark — основной инструмент для пакетной обработки и часть задач потоковой. Базовые языки — Scala и Python (через библиотеку PySpark), для аналитиков есть Spark SQL.
Flink заточен под потоки. Его выбирают для потоковых сценариев, где особенно важна минимальная задержка.
Trino и
Presto — SQL-движки для запросов к данным, которые лежат в озере или в разных хранилищах.
По данным Onehouse, Trino — развитие проекта PrestoSQL после ребрендинга в конце 2020 года; отдельно существует ветка PrestoDB. В новых проектах чаще выбирают Trino, а Presto остаётся в старых системах. Оба движка умеют одним SQL-запросом собрать данные из S3, PostgreSQL, Kafka и других источников сразу.