#Apache_Spark
Explore tagged Tumblr posts
devsnews · 3 years ago
Link
Apache Spark is an open-source distributed computing framework that enables high-speed data processing and analytics. It is an in-memory cluster computing framework that supports various languages like Java, Python, R, and Scala. Spark can be used to process large amounts of data in a distributed manner and with existing Hadoop clusters. In addition, it provides an API for entire programming clusters with implicit data parallelism and fault tolerance. In this article, you can read some best practices and performance-tuning tips for this framework.
0 notes
nehaarticles · 4 years ago
Text
Tumblr media
Big Data is a huge volume of data collection, which is growing exponentially with time. Traditional database management tools can not handle big data.
0 notes
scottedwards2000 · 8 years ago
Photo
Tumblr media
RT @wwwkumotech: Apache Spark 2.2 brings improved support of R language - Open Source For You http://buff.ly/2u6aQHJ #apache_spark #apache_spark_22 http://buff.ly/2u5yC6W (at Universal Studios Hollywood)
0 notes
sqljoker · 7 years ago
Text
Tweeted
#Apache_Spark : #Python vs. #Scala https://t.co/HQYlBqxCyi via @kdnuggets
— SQL Joker (@sql_joker) May 4, 2018
0 notes
bigdataschool-moscow · 6 years ago
Text
Spark
Tumblr media
Apache Spark – это Big Data фреймворк с открытым исходным кодом для распределённой пакетной и потоковой обработки неструктурированных и слабоструктурированных данных, входящий в экосистему проектов Hadoop [1]. 
История появления Спарк и сравнение с Apache Hadoop
Основным автором Apache Spark считается Матей Захария (Matei Zaharia), румынско-канадский учёный в области информатики. Он начал работу над проектом в 2009 году, будучи аспирантом Университета Калифорнии в Беркли. В 2010 году проект опубликован под лицензией BSD, в 2013 году передан фонду Apache Software Foundation и переведён на лицензию Apache 2.0, а в 2014 году принят в число проектов верхнего уровня Apache. Изначально Спарк написан на Scala, затем была добавлена существенная часть кода на Java, что позволяет разрабатывать распределенные приложения непосредственно на этом языке программирования [1]. Классический MapReduce, Apache компонент Hadoop для обработки данных, проводит вычисления в два этапа: 1.       Map, когда главный узел кластера (master) распределяет задачи по рабочим узлам (node)$ 2.       Reduce, когда данные сворачиваются и передаются обратно на главный узел, формируя окончательный результат вычислений. Пока все процессы этапа Map не закончатся, процессы Reduce не начнутся. При этом все операции проходят по циклу чтение-запись с жесткого диска. Это обусловливает задержки в обработке информации. Таким образом, технология MapReduce хорошо подходит для задач распределенных вычислений в пакетном режиме, но из-за задержек (latency) не может использоваться для потоковой обработки в режиме реального времени [2]. Для решения этой проблемы был создан Apache Spark и другие Big Data фреймворки распределенной потоковой обработки (Storm, Samza, Flink). В отличие от классического обработчика ядра Apache Hadoop c двухуровневой концепцией MapReduce на базе дискового хранилища, Spark использует специализированные примитивы для рекуррентной обработки в оперативной памяти. Благодаря этому многие вычислительные задачи реализуются в Спарк значительно быстрее. Например, возможность многократного доступа к загруженным в память пользовательским данным позволяет эффективно работать с алгоритмами машинного обучения (Machine Learning) [1]. 
Tumblr media
Сравнение Apache Hadoop и Spark
Как устроен Apache Spark: архитектура и принцип работы
Спарк состоит из следующих компонентов: ·       Ядро (Core); ·       SQL – инструмент для аналитической обработки данных с помощью SQL-запросов; ·       Streaming – надстройка для обработки потоковых данных, о которой подробно мы рассказывали здесь и здесь; ·       MLlib – набор библиотек машинного обучения; ·       GraphX – модуль распределённой обработки графов. Apache Spark может работать как в среде кластера Hadoop под управлением YARN, так и без компонентов ядра хадуп, например, на базе системы управления кластером Mesos. Спарк поддерживает несколько популярных распределённых систем хранения данных (HDFS, OpenStack Swift, Cassandra, Amazon S3) и языков программирования (Java, Scala, Python, R), предоставляя для них API-интерфейсы. 
Tumblr media
Компоненты Спарк Справедливости ради стоит отметить, что Spark Streaming, в отличие от, например, Apache Storm, Flink или Samza, не обрабатывает потоки Big Data целиком. Вместо этого реализуется микропакетный подход (micro-batch), когда поток данных разбивается на небольшие пакеты временных интервалов. Абстракция Spark для потока называется DStream (discretized stream, дискретизированный поток) и предст��вляет собой микро-пакет, содержащий несколько отказоустойчивых распределенных датасетов, RDD (resilient distributed dataset) [3]. Именно RDD является основным вычислительным примитивом Спарк, над которым можно делать параллельные вычисления и преобразования с помощью встроенных и произвольных функций, в том числе с помощью временных окон (window-based operations) [3]. Подробнее про временные окна мы рассказывали здесь на примере Apache Kafka Streams.
Tumblr media
Принцип работы Спарк
Где и как используется Apache Spark
Благодаря наличию разнопрофильных инструментов для аналитической обработки данных «на лету» (SQL, Streaming, MLLib, GraphX), Спарк активно используется в системах интернета вещей (Internet of Things, IoT) на стороне IoT-платформ, а также в различных бизнес-приложениях, в т.ч. на базе методов Machine Learning. Например, Apache Spark применяется для прогнозирования оттока клиентов (Churn Predict) и оценки финансовых рисков [4]. Однако, если временная задержка обработки данных (latency) – это критичный фактор, Apache Spark не подойдет и стоит рассмотреть альтернативу в виде клиентской библиотеки Kafka Streams или фреймворков Storm, Flink, Samza. По набору компонентов и функциональным возможностям Spark можно сравнить с другим Big Data инструментом распределенной потоковой обработки – Apache Flink. Этому детальному сравнению в части потоковых вычислений мы посвятили отдельную статью. Источники 1.       https://ru.wikipedia.org/wiki/Apache_Spark 2.       https://dis-group.ru/company-news/articles/6-faktov-ob-apache-spark-kotorye-nuzhno-znat-kazhdomu/ 3.       http://datareview.info/article/obrabotka-potokovyx-dannyx-storm-spark-i-samza/ 4.       https://www.cloudera.com/developers/how-tos/apache-spark-how-tos.html Read the full article
0 notes
bigdataschool-moscow · 6 years ago
Text
Синергия Apache Kafka и Spark Streaming: потоковая обработка Big Data в реальном времени
Tumblr media
В этой статье мы рассмотрим архитектуру Big Data конвейера по непрерывной обработке потоковых данных в режиме реального времени на примере интеграции Apache Kafka и Spark Streaming.
Что такое Spark Streaming и для чего он нужен
Spark Streaming – это надстройка фреймворка с открытым исходным кодом Apache Spark для обработки потоковых данных. Apache Spark входит в экосистему проектов Hadoop и позволяет осуществлять распределённую обработку неструктурированной и слабоструктурированной информации. Изначально Apache Spark был написан на языке программирования Scala, затем добавилась часть компонентов на Java. Дополнительно к этим языкам, фреймворк также предоставляет API для Python и R [1]. Apache Spark – это многокомпонентная система из следующих элементов: ·       Ядро (Spark Core), которое использует специализированные примитивы для рекуррентной обработки в оперативной памяти, что значительно ускоряет многократный доступ к загруженным в память пользовательским данным [1]; ·       Spark SQL – модуль, который позволяет выполнять SQL-запросы над данными, сочетая реляционную обработку с процедурным API [2]; ·       Spark Streaming - надстройка для обработки потоковых данных, о которой мы расскажем подробнее дальше; ·       Spark MLlib – набор библиотек машинного обучения (Machine Learning); ·       GraphX – библиотека для распределённой обработки графов.   Apache Spark может работать как в среде кластера Hadoop под управлением YARN, так и без компонентов ядра хадуп. Спарк поддерживает несколько распределённых систем хранения (HDFS, OpenStack Swift, NoSQL-СУБД Cassandra, Amazon S3) и, в отличие от классического обработчика ядра Hadoop, который реализует двухуровневую концепцию MapReduce с дисковым хранилищем, Spark работает с оперативной памятью, что существенно ускоряет вычисления [1]. 
Tumblr media
Основные сведения об Apache Spark
 Зачем нужна интеграция Apache Kafka и Spark Streaming
Как мы уже рассказывали в статье про основы Кафка для начинающих, Apache Kafka позволяет собирать и агрегировать непрерывные потоки Big Data от разных источников: устройств Internet of Things, приложений и сервисов. Однако, чтобы эти большие данные были полезны в прикладном смысле, их необходимо обрабатывать и анализировать. Apache Kafka не предназначена для интеллектуальной обработки данных, поэтому необходимы другие средства Big Data. В таком случае целесообразно использовать Spark Streaming, который будет обрабатывать потоки сообщений Кафка и записывать результат обработки в облачное хранилище, базу данных или распределенную файловую систему типа HDFS. Подобная задача актуальна, например, для банков и других финансовых организаций, которым необходимо обрабатывать потоки входящих транзакций в режиме реального времени по всем своим филиалам. Это может быть сделано с целью оперативного расчета открытой валютой позиции для казначейства, лимитов или финансового результата по сделкам и т.д. Несмотря на позиционирование Spark Streaming в качестве средства потоковой обработки, на практике он реализует «микропакетный» подход (micro-batch), когда поток данных интерпретируется как непрерывная последовательность небольших пакетов информации. Spark Streaming принимает данные из разных источников и объединяет их в небольшие пакеты через регулярные интервалы времени. В начале каждого интервала (batch interval) создается новый пакет, и любые данные, поступившие в течение этого времени, включаются в пакет. В конце интервала увеличение пакета прекращается. Размер batch interval определяется заранее и называется интервалом пакетирования. Для повышения отказоустойчивости приложения используются контрольные точки (checkpoints). Благодаря этому, когда Spark Streaming требуется восстановить утраченные данные, нужно только вернуться к последней контрольной точке и возобновить вычисления от нее [3]. Входящий в состав Apache Спарк движок Spark Engine передает пакеты обработанной информации в базу данных, облачные сервисы или файловые хранилища, а набор библиотек для машинного обучения Spark MLlib позволяет использовать эти данные в моделировании Machine Learning. Также средствами Spark SQL можно выполнять различные аналитические запросы. Таким образом, интеграция Apache Kafka и Spark Streaming обеспечивает непрерывный конвейер (pipeline) сбора и интеллектуальной обработки потоков Big Data в режиме реального времени. А как технически реализуется обмен данными между Apache Kafka и Spark Streaming, читайте в нашей следующей статье.  
Tumblr media
Интеграция Apache Kafka и Spark Streaming Еще больше знаний об Apache Kafka, Спарк и других технологиях больших данных на наших практических курсах для руководителей, архитекторов, инженеров, администраторов, аналитиков Big Data и Data Scientist’ов в лицензированном учебном центре обучения и повышения квалификации ИТ-специалистов в Москве: KAFKA: Администрирование кластера Kafka  SPARK: Администратор кластера Apache Spark
Tumblr media
 Смотреть расписание занятий
Tumblr media
 Зарегистрироваться на курс   Источники 1.       https://ru.wikipedia.org/wiki/Apache_Spark 2.       http://datareview.info/article/analitika-v-rezhime-realnogo-vremeni-s-pomoshhyu-spark-sql/ 3.       https://habr.com/ru/post/451160/ Read the full article
0 notes
sqljoker · 7 years ago
Text
Tweeted
#Deep_Learning With #Apache_Spark: Part 1 https://t.co/FlzywoHKE4 via @kdnuggets
— SQL Joker (@sql_joker) April 18, 2018
0 notes