Apache Spark

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Apache Spark
Apache Spark logo.svg
Тип фреймворк, фреймворк поддержки машинного обучения[d] и облачные вычисления
Автор Матей Захария[d]
Разработчик Apache Software Foundation
Написана на Scala[1], Java, Python и R
Операционная система Microsoft Windows, Linux и macOS
Первый выпуск 30 мая 2014
Аппаратная платформа Java Virtual Machine
Последняя версия
Читаемые форматы файлов JSON[3], CSV[3], текстовый файл[3], Apache Parquet[d][3] и Optimized Row Columnar[d][4]
Создаваемые форматы файлов CSV[4], JSON[4], Apache Parquet[d][4], текстовый файл[4] и Optimized Row Columnar[d][4]
Лицензия Apache License 2.0 и BSD
Сайт spark.apache.org

Apache Spark (от англ. spark — искра, вспышка) — фреймворк с открытым исходным кодом для реализации распределённой обработки неструктурированных и слабоструктурированных данных, входящий в экосистему проектов Hadoop. В отличие от классического обработчика из ядра Hadoop, реализующего двухуровневую концепцию MapReduce с дисковым хранилищем, Spark использует специализированные примитивы для рекуррентной обработки в оперативной памяти, благодаря чему позволяет получать значительный выигрыш в скорости работы для некоторых классов задач[5], в частности, возможность многократного доступа к загруженным в память пользовательским данным делает библиотеку привлекательной для алгоритмов машинного обучения[6].

Проект предоставляет программные интерфейсы для языков Java, Scala, Python, R. Изначально написан на Scala, впоследствии добавлена существенная часть кода на Java для предоставления возможности написания программ непосредственно на Java. Состоит из ядра и нескольких расширений, таких как Spark SQL (позволяет выполнять SQL-запросы над данными), Spark Streaming (надстройка для обработки потоковых данных), Spark MLlib (набор библиотек машинного обучения), GraphX (предназначено для распределённой обработки графов). Может работать как в среде кластера Hadoop под управлением YARN, так и без компонентов ядра Hadoop, поддерживает несколько распределённых систем хранения — HDFS, OpenStack Swift, NoSQL-СУБД Cassandra, Amazon S3.

Ключевой автор — румынско-канадский учёный в области информатики Матей Захария (англ. Matei Zaharia), начал работу над проектом в 2009 году, будучи аспирантом Университета Калифорнии в Беркли. В 2010 году проект опубликован под лицензией BSD, в 2013 году передан фонду Apache и переведён на лицензию Apache 2.0, в 2014 году принят в число проектов верхнего уровня Apache.

Примечания[править | править код]

Литература[править | править код]

  • Х. Карау, Э. Конвински, П. Венделл, М. Захария. Изучаем Spark. Молниеносный анализ данных = Learning Spark: Lightning-Fast Big Data Analytics (O’Reilly, 2015). — ДМК Пресс, 2015. — 304 с. — ISBN 978-5-97060-323-9.
  • С. Риза, У. Лезерсон, Ш. Оуэн, Д. Уиллс. Spark для профессионалов: современные паттерны обработки больших данных = Advanced Analytics with Spark. Patterns for Learning from Data at Scale (O’Reilly, 2015). — Питер, 2017. — 272 с. — ISBN 978-5-496-02401-3.
  • Уоррен Р., Карау Х. Эффективный Spark. Масштабирование и оптимизация = High Performance Spark. Best Practices for Scaling and Optimizing Apache Spark. — Питер, 2018. — 352 с. — ISBN 978-5-4461-0705-6.

Ссылки[править | править код]