
Apache Spark
Открытый движок распределённой обработки данных: пакетные и потоковые конвейеры, SQL-аналитика и машинное обучение выполняются одним инструментом — на ноутбуке или на кластере из тысяч машин. Для дата-инженеров, аналитиков и ML-специалистов.
Основная информация
Технические характеристики
- Open-source
- Да
- Лицензия
- Apache License 2.0
- Последняя версия
- 4.2.0 (14 июля 2026)
- Репозиторий
- github.com/apache/spark
- Языки API
- Python, SQL, Scala, Java, R (SparkR объявлен устаревшим)
- Системные требования
- Java 17, 21 или 25; Scala 2.13; Python 3.10+; R 4.0+
- Поддерживаемые ОС
- Windows и UNIX-подобные системы (Linux, macOS); JVM на x86_64 и ARM64
- Варианты развёртывания
- Standalone, Hadoop YARN, Kubernetes (есть Spark Kubernetes Operator)
- Поддержка SQL
- ANSI SQL, оптимизатор Catalyst, Adaptive Query Execution, подключение по JDBC и ODBC
- Форматы данных
- Parquet, ORC, JSON; Delta Lake и Apache Iceberg — через экосистему
- Релизы
- Функциональные релизы раз в 3 месяца, мажорные — раз в 12 месяцев
- Срок поддержки версии
- LTS-ветка — 18 месяцев, остальные ветки — 6 месяцев
- Self-hosted
- Да
Безопасность и compliance
Поддержка и SLA
Интеграции Apache Spark
- pandas— Data science
- NumPy— Data science
- scikit-learn— Машинное обучение
- PyTorch— Машинное обучение
- TensorFlow— Машинное обучение
- MLflow— ML-эксперименты
- Tableau— BI
- Power BI— BI
- Apache Superset— BI
- dbt— Трансформации
- Apache Kafka— Потоки данных
- Delta Lake— Хранилище
- Apache Iceberg— Хранилище
- Cassandra— Базы данных
- MongoDB— Базы данных
- Elasticsearch— Поиск
- Apache Airflow— Оркестрация
- Kubernetes— Инфраструктура
Тарифы Apache Spark
Сам движок бесплатен и распространяется по лицензии Apache 2.0 — плата за него не взимается ни в каком виде. Затраты возникают только на вашей стороне: серверы или облачные ресурсы под кластер и работа команды по его эксплуатации. Управляемые сервисы на базе Spark у облачных провайдеров тарифицируются отдельно и к проекту отношения не имеют.
Open Source (Apache 2.0)
Без ограничений
- ✓Полный функционал движка без ограничений
- ✓Spark SQL, Structured Streaming, MLlib, GraphX
- ✓API на Python, SQL, Scala, Java и R
- ✓Запуск на Standalone, YARN и Kubernetes
- ✓Исходный код и сборки на GitHub и в Maven Central
- ✓Коммерческое использование разрешено лицензией
| Тариф | Цена |
|---|---|
| Open Source (Apache 2.0) | Бесплатно |
Обзор Apache Spark
Что такое Apache Spark?
Apache Spark — открытый движок для обработки данных, который закрывает четыре задачи одним инструментом: инженерию данных, SQL-аналитику, машинное обучение и потоковую обработку. Один и тот же код запускается и на одной машине, и на кластере из тысяч узлов, а писать его можно на Python, SQL, Scala, Java или R.
Проект начался как исследовательская работа лаборатории AMPLab Калифорнийского университета в Беркли в 2009 году, был открыт в начале 2010-го и в 2013 году передан в Apache Software Foundation. Распространяется по лицензии Apache 2.0, разработка ведётся публично на GitHub. Актуальная версия — 4.2.0, вышла 14 июля 2026 года; параллельно поддерживаются ветки 4.1, 4.0 и 3.5.
Ключевые возможности Apache Spark
Единый движок для пакетов и потоков
- Пакетная обработка и обработка потоков в реальном времени одним API
- Structured Streaming для инкрементальных вычислений
- Чтение источников вроде Kafka и запись в таблицы Parquet
- RDD-интерфейс для неструктурированных данных
SQL-аналитика
Движок выполняет распределённые запросы на стандартном ANSI SQL. Оптимизатор Catalyst переписывает запросы и генерирует код во время выполнения, а Adaptive Query Execution меняет план прямо по ходу работы — например, сам подбирает число редьюсеров и алгоритм соединения. BI-инструменты подключаются в серверном режиме по JDBC и ODBC, поддерживаются синтаксис HiveQL, метахранилища Hive, SerDe и UDF.
Данные и машинное обучение
- MLlib — обучение моделей от ноутбука до отказоустойчивого кластера
- pandas API on Spark — привычный pandas-код на распределённых данных
- GraphX — обработка графов
- Разведочный анализ петабайтов без понижающей выборки
Как запускают и что нужно для работы
Кластером управляет один из трёх режимов: Standalone, Hadoop YARN или Kubernetes — для последнего есть отдельный оператор. Для быстрого старта хватит локального режима: PySpark ставится командой pip, есть официальные Docker-образы и координаты в Maven Central. Движок работает на Windows и UNIX-подобных системах, включая процессоры ARM64, и требует Java 17, 21 или 25, Scala 2.13, Python 3.10 и новее либо R 4.0+.
Важная деталь при промышленной настройке: функции безопасности по умолчанию выключены. Если кластер доступен из интернета или недоверенной сети, аутентификацию RPC, шифрование трафика по SSL, шифрование локальных данных и права доступа к веб-интерфейсу нужно включать вручную — об этом прямо предупреждает документация проекта.
Для кого подходит?
Продукт рассчитан на команды, которые обрабатывают объёмы, не помещающиеся в одну машину: дата-инженеров с ETL-конвейерами, аналитиков с интерактивными запросами, специалистов по машинному обучению и разработчиков потоковых приложений. Взамен потребуется собственная эксплуатация: администрирование кластера, настройка JVM и планирование обновлений — вендорской поддержки и SLA у проекта нет, помощь идёт через списки рассылки, трекер и Stack Overflow.
Плюсы и минусы Apache Spark
+Преимущества
- ✓Один движок закрывает ETL, SQL-аналитику, стриминг и машинное обучение — не нужно склеивать разные фреймворки
- ✓Пять языков API: код с ноутбука переносится на кластер без переписывания
- ✓Лицензия Apache 2.0 разрешает коммерческое использование без отчислений
- ✓Экосистема готовых стыковок — от pandas и PyTorch до Tableau, Kafka и Iceberg
- ✓Предсказуемый график релизов: функциональные раз в квартал, LTS-ветка живёт 18 месяцев
- ✓Быстрый старт: pip install pyspark, официальные Docker-образы и координаты Maven
−Недостатки
- ✗Функции безопасности выключены по умолчанию — аутентификацию, шифрование трафика и права доступа к веб-интерфейсу нужно включать вручную
- ✗Нет вендорской поддержки и SLA: помощь только через списки рассылки, JIRA и Stack Overflow
- ✗Ветки, кроме LTS, поддерживаются 6 месяцев — обновления приходится планировать регулярно
- ✗R-интерфейс SparkR объявлен устаревшим, а поддержка Scala 2.12 в четвёртой ветке прекращена — старый код придётся переносить
- ✗Нужны администрирование кластера и настройка JVM, порог входа выше, чем у управляемых сервисов
- ✗Мажорные релизы выходят ежегодно и допускают несовместимые изменения API
Сценарии использования Apache Spark
ETL-конвейеры на данных, которые не влезают в одну машину
Инженерия данных как основной сценарий движка: чтение из источников, преобразования и запись результата — один и тот же код работает и локально, и на кластере.
SQL-аналитика и дашборды
Распределённые ANSI SQL-запросы для отчётов и ad-hoc-аналитики; BI-инструменты подключаются в серверном режиме по JDBC или ODBC.
Разведочный анализ петабайтов
EDA на данных петабайтного масштаба без понижающей выборки — можно работать с полным набором, а не с его частью.
Обучение ML-моделей с масштабированием
Алгоритмы MLlib обучают модель на ноутбуке, а затем тот же код переносится на отказоустойчивый кластер из тысяч машин.
Потоковая загрузка из Kafka в таблицы
Structured Streaming читает поток, приводит записи к схеме и дописывает их в таблицу Parquet — регулярно по расписанию или непрерывно.
Встраивание движка в приложения через Spark Connect
Клиент-серверная архитектура, появившаяся в версии 3.4, отделяет приложение от кластера и позволяет обращаться к Spark удалённо из любой среды.
Доверие и масштаб
- 📊Список Powered By на сайте проекта — 95 организаций, но он пополняется самими компаниями по письму в рассылку dev@, а не проверяется проектом
- 📊Ускорение TPC-DS «до 8 раз» с главной страницы измерено на 1 ТБ без статистики и сравнивает Spark с включённым и выключенным Adaptive Query Execution — это выигрыш от одной оптимизации, а не сравнение с другими движками
- 📊Утверждение «быстрее большинства хранилищ данных» вендор приводит без ссылки на замер
Отзывы о Apache Spark
Обзор помог разобраться в сервисе?
Одно нажатие, без регистрации. Ответ увидят те, кто будет выбирать сервис после вас.
Ваш ответ здесь будет первым.
Поделитесь опытом использования
Помогите другим сделать правильный выбор — ваш отзыв будет полезен
Без почты и пароля · обычно публикуем в течение 1–2 дней
Отзывы — мнения посетителей, прошедшие проверку по правилам сайта; порядок определяется отметками «полезно».
Часто задаваемые вопросы о Apache Spark
?Сколько стоит Apache Spark?
Движок бесплатен: он распространяется по лицензии Apache 2.0, которая разрешает в том числе коммерческое использование без отчислений. Платить придётся только за инфраструктуру под кластер и за работу команды, которая его эксплуатирует. Управляемые сервисы на базе Spark у облачных провайдеров — это отдельные коммерческие продукты, к самому проекту они отношения не имеют.
?Какая версия актуальна и как долго её поддерживают?
Актуальный релиз — 4.2.0 от 14 июля 2026 года, рядом обслуживаются ветки 4.1, 4.0 и 3.5. Проект перешёл на предсказуемый график: функциональные релизы выходят раз в 3 месяца, мажорные — раз в 12. Последний релиз в мажорной линии получает статус LTS и поддерживается 18 месяцев, остальные ветки — 6 месяцев; для четвёртой линии LTS запланирован на версии 4.5.0.
?Что нужно для запуска Spark?
Из окружения — Java 17, 21 или 25, Scala 2.13, Python 3.10 и новее либо R 4.0+ (R-интерфейс объявлен устаревшим). Движок работает на Windows и UNIX-подобных системах, включая машины на ARM64. Локально всё поднимается без кластера: достаточно установить PySpark командой pip, взять официальный Docker-образ или подключить артефакты из Maven Central, а затем запустить оболочку в режиме local.
?На чём разворачивать кластер?
Поддерживаются три варианта: собственный Standalone-режим — самый простой способ развернуть кластер без сторонних менеджеров, Hadoop YARN и Kubernetes. Для Kubernetes у проекта есть отдельный оператор, который умеет разворачивать и приложения, и целые кластеры по паттерну операторов. В документации также описан запуск на Amazon EC2 через готовые скрипты.
?Какие языки и API доступны?
Нативные API есть для Python, Scala, Java и R, плюс SQL. Работать можно через DataFrame API, чистый SQL, Structured Streaming или низкоуровневый RDD-интерфейс для неструктурированных данных; отдельно доступен pandas API on Spark. Начиная с версии 4.0 сборки идут на Scala 2.13, поддержка 2.12 прекращена, а SparkR отмечен как устаревший.
?Насколько Spark защищён из коробки?
Из коробки — нет: документация прямо предупреждает, что функции безопасности, включая аутентификацию, по умолчанию отключены, и кластер, открытый в интернет или недоверенную сеть, нужно защищать самостоятельно. Набор возможностей при этом полный: аутентификация RPC, шифрование трафика по SSL или устаревшему AES, шифрование локальных данных, ACL веб-интерфейса и History Server, заголовки безопасности HTTP, Kerberos и работа с секретами Kubernetes.
?Что такое Spark Connect и зачем он нужен?
Это клиент-серверная архитектура, появившаяся в версии 3.4: она отделяет клиентское приложение от кластера и позволяет обращаться к Spark удалённо. Благодаря такому разделению движок можно встраивать в любое приложение, а не запускать код только внутри кластера. Помимо Python и Scala у проекта есть клиенты Spark Connect для Go, Rust и Swift.
?Можно ли подключить Tableau или Power BI?
Да, Spark SQL работает в серверном режиме и отдаёт стандартные интерфейсы JDBC и ODBC — через них подключаются привычные BI-инструменты. На главной странице проекта в разделе экосистемы среди прочих показаны Tableau, Power BI, Looker, Redash и Apache Superset. Дополнительно поддерживаются синтаксис HiveQL и существующие метахранилища Hive.
Обновлено: 23 июля 2026 г.