9 сентября 2015 года стала доступна новая версия высокопроизводительной системы распределенной обработки данных.
Apache Spark — это высокопроизводительная система для распределенной обработки данных, основанная на модели вычислений в памяти.
Spark предназначен для запуска в окружении Hadoop-кластера через использование механизма YARN или в одиночном режиме. В качестве уровня хранения данных могут быть использованы HDFS, HBase, Cassandra, Hive или любой Hadoop input format. Поддерживается работа в пакетном режиме (подобно map-reduce), а также режимы потоковой обработки, интерактивных запросов и машинного обучения. Spark предоставляет программные интерфейсы для работы с языками Python, Java и Scala.
Является проектом верхнего уровня Apache Software Foundation (ссылка).
Основные изменения:
- API (RDD, DataFrame & SQL)
- новый экспериментальный механизм пользовательских функций-агрегатов (user-defined aggregate function, UDAF), раньше поддержка была только для Hive
- улучшенная поддержка значений NaN (функции isnan, nanvl, поддержка группировки и т.д.)
- добавлен тип данных CalendarIntervalType для временных интервалов
- добавлена поддержка упорядочивания для типа данных StructType
- добавлены боле 100 функций date/time, string, math, etc.
- добавлена поддержка вывода типов и сообщений об ошибках во время фазы анализа (т.о. большая часть ошибок выявляется во время анализа, а не во время исполнения)
- Бэкенд (DataFrame & SQL)
- генерация кода включена по-умолчанию для практически всех DataFrame/SQL функций
- улучшен механизм выполнения агрегаций (aggregation)
- улучшен механизм выполнения слияний (join)
- улучшен механизм выполнения сортировки (sort)
- улучшена поддержка прямой работы с памятью
- улучшены средства отладки и генерации отчетов
- Интеграция
- улучшения работы с источниками данных: Hive, Hadoop, Mesos, а также системы управления кластером
- Машинное обучение и аналитика
- добавлены преобразователи признаков (feature transformers): CountVectorizer, Discrete Cosine transformation, MinMaxScaler, NGram, PCA, RFormula, StopWordsRemover и VectorSlicer
- добавлены новые алгоритмы: многоуровневый персептрон, PrefixSpan для выявления последовательных последовательностей, генерация правил объединения, критерий согласия Колмогорова-Смирнова и т.д.
- улучшения в существующих алгоритмах
- Потоковый режим
- добавлен Python API для потоковых источников (Kafka, Kinesis, Flume, MQTT)
- добавлен Python API для алгоритмов машинного обучения на потоковых данных
- добвлен механизм адаптивной подстройки под уровень поступления данных и вычислительной загрузки
- улучшены механизмы балансировки нагрузки и планировщик для приемников данных кластера
Также релиз содержит также множество других изменений.
>>> Подробности