Apache Spark

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

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

Проект предоставляет программные интерфейсы для языков 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.

Ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.