Ускоряем конвейеры Apache Spark: 3 простых способа

курсы Big Data, обучение Большие данные, курсы Spark SQL, обучение Spark, обучение инженеров данных, курсы дата-инженер, Apache Spark для инженеров данных

Сегодня рассмотрим несколько простых способов ускорить обработку больших данных в рамках конвейера задач Apache Spark. Читайте далее про важность тщательной оценки входных и выходных данных, рандомизацию рабочей нагрузки Big Data кластера и замену JOIN-операций оконными функциями. Оптимизируй это: почему конвейеры аналитической обработки больших данных с Apache Spark замедляются Обычно со временем объемы данных только растут, а логика их обработки становится только сложнее. Поэтому каждый дата-инженер сталкивается с проблемой повышения производительности конвейера обработки Big Data, пытаясь решить ее наиболее эффективно, что означает максимум положительных результатов при минимальных изменениях архитектуры самого pipeline’а. Для этого можно воспользоваться следующими 3-мя способами: навести порядок в выводе конвейера; сбалансировать нагрузку с помощью рандомизации; заменить JOIN-соединения оконными функциями. Каждый из этих способов мы подробнее рассмотрим далее, а Далее …

Stateful-проблемы JOIN-операций в Apache Spark Structured Streaming и их решения

Big Data, Большие данные, обработка данных, JOIN, Spark, SQL, Spark SQL

Недавно мы уже рассматривали выполнение Join-операций в Apache Spark SQL. Сегодня поговорим про особенности потокового соединения в модуле Structured Streaming этого популярного фреймворка аналитики больших данных. Читайте далее, в чем специфика внешних и внутренних соединений потоков Big Data в Apache Spark Structured Streaming, а также как и зачем Inner/Outer Join используют водяные знаки (watermark). Соединение потоков в Apache Spark Structured Streaming Соединение (Join) считается достаточно сложной операцией в SQL. А соединение потоков данных усложняется задержками поступления информаций. Для ограниченного источника данных, такого, как статичная СУБД, все данные для соединения имеются в наличии, тогда как в случае потокового источника данные непрерывно перемещаются, причем с непостоянной скоростью. Это может быть связано с техническими причинами, такими как проблемы с конвейером приема, или из-за Далее …

Безопасность + надежность: чем хорош транзакционный протокол фиксации Spark-заданий от Databricks

курсы по Spark, Apache Spark Для разработчиков и аналитиков больших данных, Big Data, Большие данные, обработка данных, архитектура, Spark, SQL, Spark SQL, Delta Lake, Data Lake, Data Lake, Hadoop, HDFS, DBIO commit-protocol for Spark transactions by Databricks, курсы Hadoop, обучение Apache Hadoop

Продолжая разговор про фиксацию заданий Apache Spark при работе с облачными хранилищами больших данных, сегодня подробнее рассмотрим, насколько эффективны commit-протоколы экосистемы Hadoop, предоставляемые по умолчанию, и почему известный разработчик Big Data решений, компания Databricks, разработала собственный алгоритм. Читайте далее про сравнение протоколов фиксации заданий в Spark-приложениях: результаты оценки производительности и транзакционности – бенчмаркинговый тест. 3 варианта commit-протоколов Apache Hadoop для фиксации Spark-заданий в облаке Напомним, протокол фиксации заданий (commit) необходим для предотвращения потери или дублирования данных при работе с облачным объектным хранилищем. Он гарантирует, что видимыми становятся только результаты успешно выполненных задач и заданий Apache Spark. По умолчанию этот Big Data фреймворк включает 2 стандартных commit-протокола экосистемы Hadoop [1]: версия 1, когда выходные файлы задачи перемещаются в их окончательные местоположения Далее …

Сложности перехода: от локальных Hadoop-кластеров к облачным объектным хранилищам для приложений Apache Spark

курсы по Spark, Apache Spark Для разработчиков и аналитиков больших данных, Big Data, Большие данные, обработка данных, архитектура, Spark, SQL, Spark SQL, Delta Lake, Data Lake, Data Lake, Hadoop, HDFS

Сегодня поговорим про особенности транзакций в Apache Spark, что такое фиксация заданий в этом Big Data фреймворке, как она связано с протоколами экосистемы Hadoop и чем это ограничивает переход в облако с локального кластера. Читайте далее, как найти компромисс между безопасностью и высокой производительностью, а также чем облачные хранилища отличаются от локальных файловых систем и каким образом это влияет на Spark-приложения. Зачем нужны протоколы фиксации заданий или что не так с облачными Spark-приложениями С учетом стремительной тенденции перехода от локальных решений к облачным, в. т.ч в области Big Data, cloud-хранилища становятся все более востребованными. Например, очень часто локальное озеро данных (Data Lake) на Apache Hadoop HDFS заменяется на Amazon S3 или Delta Lake от Databricks. Подробнее о том, что такое Далее …

Большая разница: чем структурированная потоковая передача в Apache Spark отличается от Spark Streaming

курсы по Apache Spark, Spark SQL, Apache Spark Structured Streaming, обучение Spark SQL, Apache Spark Для аналитиков и разработчиков Big Data, Big Data, Большие данные, обработка данных, Spark, SQL, Spark SQL, Hadoop

В этой статье рассмотрим, что такое Apache Spark Structured Streaming и Spark Streaming, чем они отличаются и что общего между этими 2-мя способами обработки потоковых данных в самом популярном фреймворке аналитики больших данных. Читайте далее, как микро-пакетная передача приближается к режиму реального времени и при чем здесь структуры данных для распределенной обработки Big Data. Основы потоковой обработки Big Data в Apache Spark для начинающих: что такое Spark Streaming и Structured Streaming Apache Spark предоставляет 2 способа работы с потоковыми данными [1]: Spark Streaming – отдельная библиотека в Spark для обработки непрерывных потоковых данных. В его основе лежит дискретизированный поток DStream, который имеет API на базе главной структуры данных Spark – RDD (Resilient Distributed Dataset, надежная распределенная коллекция типа таблицы), которая Далее …

Ускоряем и масштабируем Apache Spark Structured Streaming: 2 проблемы строго однократной доставки и их решения

курсы по Apache Spark, exactly once, Spark SQL, Apache Spark Structured Streaming, обучение Spark SQL, Apache Spark Для аналитиков и разработчиков Big Data, Big Data, Большие данные, обработка данных, Spark, SQL, Spark SQL, Hadoop, HDFS

Вчера мы говорили про реализацию exactly once семантики доставки сообщений в Apache Spark Structured Streaming. Сегодня рассмотрим, что не так с размером компактных файлов для хранения контрольных точек потоковой передачи, какие параметры конфигурации Spark SQL отвечают за такое логирование и как ускорить микро-пакетную обработку больших данных и чтение результатов выполнения заданий в этом Big Data фреймворке.   Проблема увеличения размера компактных файлов в Apache Spark Structured Streaming Напомним, чтобы гарантировать отсутствие дублей и потерь данных, Apache Spark Structured Streaming реализует строго однократную (exactly once) семантику доставки сообщений с помощью механизма контрольных точек (checkpoint) и commit-файлов для каждого микропакета. Основная цель контрольных точек – обеспечить отказоустойчивость потоковых заданий. Благодаря метаданным, хранящимся в файлах контрольных точек, можно перезапустить обработку в случае сбоя Далее …

Только сегодня и только сейчас: как устроена строго однократная доставка сообщений в Apache Spark Structured Streaming

курсы по Apache Spark, exactly once, Spark SQL, Apache Spark Structured Streaming, обучение Spark SQL, Apache Spark Для аналитиков и разработчиков Big Data, Big Data, Большие данные, обработка данных, Spark, SQL, Spark SQL, Hadoop, HDFS

Недавно мы рассматривали оптимизацию SQL-запросов и выполнение JOIN-операций в Apache Spark. Сегодня поговорим, что обеспечивает строго однократную семантику доставку сообщений (exactly once) в этом Big Data фреймворке и как на это влияют особенности микро-пакетной обработки больших данных с помощью заданий Spark Structured Streaming. Особенности exactly once доставки сообщений в Apache Spark Structured Streaming Сперва напомним, как обеспечивается гарантия строго однократной доставки сообщений в Apache Spark Structured Streaming. Семантика exactly once означает, что каждое сообщение будет доставлено ровно 1 раз, без повторов (дублей) и потерь данных. Это наиболее оптимальный вариант с точки зрения бизнес-логики, однако, самый сложный в реализации. Чем она отличается от других семантик доставки сообщений (хотя бы 1 раз – at least once и не более 1-го раза at Далее …

Как работает Join в Apache Spark SQL: краткий ликбез для начинающих

курсы по Spark, Apache Spark Для разработчиков и аналитиков больших данных, Spark SQL Join Optimization, обработка данных, большие данные, Big Data, PySpark, архитектура, Spark, SQL

Развивая наши новые курсы по Apache Spark, сегодня мы рассмотрим Join-операции в SQL-модуле этого популярного фреймворка для аналитики больших данных. Читайте далее, чем отличаются разные Join-соединения друг от друга, как они реализуются в Spark SQL, какие существуют механизмы для их выполнения и от чего зависит выбор того или иного способа объединения двух наборов Big Data в разных ситуациях. Основы Join-операций и 3 важнейших аспекта их реализации в Spark SQL Для начала напомним, как вообще устроены операции соединения через SQL-оператор JOIN и какие они бывают не только в Apache Spark, а вообще. Join предполагает, что каждая запись одного из двух наборов входных данных (таблиц) сопоставляется с каждой другой записью другого набора. В случае совпадения в соответствии с заданным условием JOIN-операция выводит Далее …

Насколько ты знаешь Apache Spark: открытый тест на знание популярного Big Data фреймворка

курсы по Spark, Apache Spark для начинающих открытый тест, обучение больших данных, большие данные, основы Big Data бесплатный тест

Обучение Apache Spark, Kafka, Hadoop и прочим технологиям Big Data – это не только курсы, теоретические статьи и практические задания, но и проверка полученных знаний. Поэтому сегодня мы предлагаем вам открытый интерактивный тест по основам Спарк для начинающих. Проверьте, насколько хорошо вы знакомы с особенностями администрирования и эксплуатации этого популярного фреймворка обработки больших данных, ответив на 10 вопросов о Spark Core, SQL, Streaming и MLLib.   Насколько ты знаешь основы Apache Spark: интерактивный тест для начинающих Продолжая разговор про Apache Spark и основы больших данных, сегодня вам предлагается интерактивный тест из 10 вопросов на знание основ и простых задач, которые часто встречаются на практике при администрировании кластеров и разработке Спарк-приложений. Ответы на многие из этих вопросов мы разбирали в статьях Далее …

Как оптимизировать запрос в Apache Spark SQL: Predicate Pushdown vs Projection Pushdown

курсы по Spark, Apache Spark Для разработчиков и аналитиков больших данных, Spark SQL Optimization, обработка данных, большие данные, Big Data, PySpark, архитектура, Spark, SQL

Продолжая разбирать практические особенности аналитики больших данных с Apache Spark, сегодня рассмотрим возможности оптимизации SQL-запросов в этом Big Data фреймворке с помощью механизмов предикатного и проекционного сжатия. Читайте далее про реализацию Predicate Pushdown и Projection Pushdown в Apache Spark 3, а также их связь с форматами Parquet и AVRO.   Механизмы оптимизации SQL-запросов или что такое Predicate Pushdown и Projection Pushdown Напомним, при выполнении SQL-запроса, прежде всего происходит его анализ и логическая оптимизация, когда к логическому плану запроса применяются типовые правила. Одним из них является Predicate pushdown – оптимизация, которая применяет условия (предикаты) как можно раньше, предотвращая загрузку ненужных строк. Этот механизм связан с предикатами, которые являются частью SQL-оператора, фильтрующего данные. Предикаты в математической логике аналогичны логическим условиям (clause) в Далее …