Stateful vs Stateless в потоковой обработке Big Data на примере Apache Spark Structured Streaming

курсы по Apache Spark, обучение Spark Streaming, Spark, обработка данных, большие данные, Big Data, SQL, Python, Hadoop, HDFS

Сегодня поговорим про сохранение состояний при потоковой обработке больших данных с помощью Apache Spark и рассмотрим особенности Structured Streaming в новой версии этого популярного Big Data фреймворка. Читайте далее про Stateless и Stateful приложений в реальном времени, управление состояниями, связь DStream с RDD и UI в Spark Structured Streaming. Состояния в потоковой обработке данных или что такое Stateful и Stateless Напомним, потоковая обработка данных выполняется в реальном времени по мере их поступления и предполагает 2 способа выполнения [1]: без сохранения состояния (stateless), когда каждая входящая запись обрабатывается автономно не зависимо от других, например, отображение (map), фильтрация, объединение со статическими данными и прочие подобные операции. с сохранением состояния (stateful), когда обработка входящей записи зависит от результата ранее обработанных записей. Поэтому необходимо поддерживать Далее …

Ускорение в 40 раз и другие фишки SparkR в Apache Spark 3.0

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

Вчера мы рассказывали про нововведения в Apache Spark 3.0 и упомянули про улучшения в SparkR. Сегодня рассмотрим, почему в новой версии фреймворка вызов пользовательских функций стал быстрее в 40 раз и какие еще проблемы работы с R были решены в этом релизе. Что не так со SparkR: десериализация и особенности структур данных Одним из достоинств Apache Spark считается богатый API: помимо Java, Scala и Python, этот Big Data фреймворк также позволяет работать с языком R, который считается весьма популярным в области анализа данных, о чем мы писали здесь. Однако, на практике при работе со SparkR можно было столкнуться со следующими трудностями [1]: неоднозначность типовых структурах данных. В языке R frame – это объект в оперативной памяти (in-memory) в виде списка векторов одинаковой Далее …

Apache Spark 3.0: что нового?

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

Чтобы сделать наши курсы по Spark еще более интересными и добавить в них самые актуальные тренды, сегодня мы расскажем о новом релизе этого Big Data фреймворка. Читайте далее, что нового в Apache Spark 3.0 и почему Spark SQL стал еще лучше. 10 лет в Big Data или немного истории В июне 2020 года вышел новая версия Apache Spark – 3.0. Примечательно, что в этом году проект празднует первый серьезный юбилей – 10 лет. Напомним, Apache Spark, как и многие Big Data проекты, начал свой путь из академической среды – исследовательской лаборатории AMPlab Калифорнийского университета Беркли, которая специализировалась на вычислениях с интенсивным использованием данных. Команда ученых AMPlab создала новый движок для решения проблем с обработкой больших объемов данных, одновременно предоставив API Далее …

Как не наступить на 10 главных граблей Apache Airflow в production: разбираемся на практических примерах

Big Data, Большие данные, обработка данных, Airflow, архитектура, администрирование

Мы уже рассказывали про основные достоинства и недостатки Apache Airflow, с которыми чаще всего можно столкнуться при практическом использовании этого оркестратора конвейеров обработки больших данных (Big Data). Сегодня рассмотрим некоторые специфические ограничения, характерные для этой open-source платформы и способы решения этих проблем на реальных примерах.   Все по плану: 5 особенностей Scheduler’а Планировщик (Scheduler), который отслеживает все задачи и все группы DAG, запуская экземпляры Task, считается самым интересным, но и самым слабым местом Apache Airflow [1]. Он разработан для работы в качестве постоянной службы в production-среде и использует конфигурацию, указанную в конфигурационном файле airflow.cfg. Примечательно, что планировщик не запустит задачи до тех пор, пока не закончится установленный период, который он охватывает. Например, задание с параметром schedule_interval, установленным как @daily, запустится Далее …

Заменит ли Apache Kafka в прочие СУБД в мире Big Data: за и против

Big Data, Большие данные, обработка данных, Kafka, архитектура, администрирование, SQL, NoSQL, Data Lake, Delta Lake, Elasticsearch, ClickHouse, DWH, обучение Apache Kafka, курсы по Apache Kafka

В этой статье мы поговорим про возможность нехарактерного использования Apache Kafka: не как распределенной стримминговой платформы или брокера сообщений, а в виде базы данных. Читайте далее, как Apache Kafka дополняет другие СУБД, не заменяя их полностью, почему такой вариант использования возможен в Big Data и когда он не совсем корректен. Что общего у Apache Kafka с базой данных и чем они отличаются В современном ИТ-мире есть множество видов баз данных, которые в большинстве случаев принято разделять на следующие категории [1]: простейшие – файлы, иерархические и сетевые; реляционные (MySQL, MariaDB, PostgreSQL, ClickHouse); нереляционные или NoSQL (Elasticsearch, Cassandra, Apache HBase, MongoDB, Redis, Prometheus, InfluxDB, TimescaleDB, Tarantool); комбинированные NewSQL (MemSQL, VoltDB, Spanner, Calvin, CockroachDB, FaunaDB, yugabyteDB) и многомодельные (ArangoDB, OrientDB, Couchbase). Независимо от Далее …

Что не так с Delta Lake на Apache Spark: 7 основных проблем и их решения

Spark, архитектура, обработка данных, большие данные, Big Data, Hadoop, Data Lake, Hive, SQL, NoSQL, MLOps, DataOps, Delta Lake, обучение Apache Spark, курсы по Spark

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

Что такое PySpark SQL и как он работает: несколько примеров

В прошлый раз мы говорили о том, как установить PySpark в Google Colab, а также скачали датасет с помощью Kaggle API. Сегодня на примере этого датасета покажем, как применять операции SQL в PySpark в рамках анализа Big Data. Читайте далее про вывод статистической информации, фильтрацию, группировку и агрегирование больших данных в PySparkSQL. Датасет с домами на продажу Датасет Kaggle содержит данные о домах на продажу в Бруклине с 2003 по 2017 года и доступен для скачивания. Он содержит 111 атрибутов (столбцов) и 390883 записей (строк). В атрибуты включены: дата продажи, дата постройки, цена на дом, налоговый класс, соседние регионы, долгота, ширина и др. Итак, если у вас установлен PySpark, вам нужно только скачать датасет и прочитать его. Ниже представлен код Далее …

Как найти товарные остатки с помощью Big Data и Machine Learning: пример Леруа Мерлен

Big Data, Большие данные, обработка данных, архитектура, цифровизация, цифровая трансформация, Kafka, ритейл, Greenplum, Tarantol, SQL, NoSQL, AirFlow, NiFi, ETL, Data Lake, Machine Learning, машинное обучение

Чтобы наглядно показать, как аналитика больших данных и машинное обучение помогают быстро решить актуальные бизнес-проблемы, сегодня мы рассмотрим кейс компании Леруа Мерлен. Читайте в нашей статье про нахождение аномалий в сведениях об остатках товара на складах и в магазинах с помощью моделей Machine Learning, а также про прикладное использование Apache Kafka, NiFi, AirFlow, Greenplum, MongoDB, Tarantool, Kubernetes и прочих технологий Big Data. Где товар или постановка задачи от бизнеса: проблемы, возможности и ограничения Проблема оперативной инвентаризации товаров, доступных для продажи прямо сейчас, актуальна для любого торгового предприятия. В Леруа Мерлен она усугублялась тем, что помимо сети крупных супермаркетов, в компании также есть склады и так называемые дарксторы. Заказы из интернет-магазинов могут собираться из всех трех торговых баз (супермаркет, склад, даркстор). Далее …

3 достоинства и 5 особенностей интеграции Apache Kudu и Spark с примерами

Big Data, Большие данные, обработка данных, архитектура, Hadoop, HBase, Impala, SQL, NoSQL, Kudu, Spark, HDFS

Недавно мы разбирали особенности интеграции Apache Kudu и Spark. В продолжение этой темы, сегодня поговорим про некоторые особенности выполнения SQL-операций с данными при интеграции этих Big Data фреймворков, а также рассмотрим пример записи данных в мульти-мастерный кластер Куду через Impala с помощью API Data Frame на PySpark. Что приносит Kudu в Spark: 3 преимущества совместного использования Напомним, Apache Kudu – это механизм хранения больших данных с открытым исходным кодом для экосистемы Hadoop, который обеспечивает высокоскоростную аналитику Big Data практически в режиме онлайн, соблюдая баланс между высокой пропускной способностью для объемных сканирований и низкой задержкой для произвольного доступа. Совмещая Spark и Kudu, можно создавать приложения, которые с помощью SQL запрашивают и анализируют постоянно изменяющиеся наборы данных. При этом производительность системы остается Далее …

Как организовать конвейер self-service Machine Learning на Apache Kafka, Spark Streaming, Kudu и Impala: пример расширенной BI-аналитики Big Data

Big Data, Большие данные, обработка данных, архитектура, HBase, Impala, SQL, NoSQL, Kudu, Spark, Kafka, банки, security, машинное обучение, Machine Learning

Продолжая разбирать production-кейсы реального использования этих технологий Big Data, сегодня поговорим подробнее, каковы плюсы совместного применения Kudu, Spark Streaming, Kafka и Cloudera Impala на примере аналитической платформы для мониторинга событий информационной безопасности банка «Открытие». Также читайте в нашей статье про возможности этих технологий в контексте машинного обучения (Machine Learning), в т.ч. самообслуживаемого (self-service ML). BI-система на базе Big Data для банковской безопасности Apache Kudu, Spark, Kafka и прочие технологии Big Data активно используются не только в типовых BI-приложениях, но и в аналитических системах обеспечения информационной безопасности. В частности, в январе 2020 года банк «Открытие» совместно с компанией «Неофлекс» завершил проект по внедрению аналитической платформы мониторинга событий информационной безопасности на базе технологий Big Data. Система обеспечивает непрерывный мониторинг и позволяет в Далее …