Forwarded from ✨swiftness
#Spark #Streaming #BigData #Structured
Spark Structured Streaming - это масштабируемый и отказоустойчивый механизм потоковой обработки данных на основе движка SparkSQL (см.
По итогу мы можем работать со стандартным инструментарием SQL-запросов через DataFrame API или операции Scala в DataSet API, чем Spark Structured отличается от Spark Streaming. Ключевая идея структурированной потоковой передачи состоит в том, чтобы обрабатывать поток данных в режиме реального времени как таблицу, которая постоянно обновляется - добавляются новые записи.
Эта неограниченная по глубине таблица продолжает увеличиваться по мере поступления новых данных и непрерывно обрабатывается с помощью долго выполняющегося запроса. Результаты обработки записываются в выходную таблицу. Каждый интервал триггера (скажем, каждую секунду) к входной таблице добавляются новые строки, которые в конечном итоге обновляют таблицу результатов (выходную таблицу).
На вход Spark Structured Streaming принимает файлы или данные из Kafka. Вывод данных определяет то, что именно будет записано во внешнее хранилище. Существует несколько режимов в Spark Structured Streaming:
⚙️ Режим добавления: во внешнее хранилище будут записаны только новые строки, добавленные в таблицу результатов с момента последнего триггера. Это применимо только к запросам, в которых не предполагается изменение существующих строк в таблице результатов.
⚙️ Режим обновления: во внешнее хранилище будут записываться только те строки, которые были обновлены в таблице результатов с момента последнего триггера.
⚙️ Полный режим: вся обновленная таблица результатов будет записана во внешнее хранилище. Storage Connector должен решить, как обрабатывать запись всей таблицы.
Какие же основные достоинства у этого механизма по сравнению с обычным Spark Streaming?
📍Мы используем DataFrame/DataSet вместо RDD, что обеспечивает более высокий уровень абстракции и позволяет гибко манипулировать данными, включая поддержку всех этапов оптимизации SQL-запросов
📍Начиная со Spark 2.3, в Spark Structured Streaming вместо микропакетной обработки поддерживается непрерывная, которая работает с минимальной задержкой (до 1 миллисекунды), что существенно ускоряет обработку данных.
📍Повысилась надежность и отказоустойчивость за счет условий восстановления после любой (!) ошибки - например, через воспроизводимость источника данных в случае сбоя.
📍Обработка времени события - времени, когда событие действительно (вне Spark) произошло. Это позволяет повысить точность вычислений и обработать события, которые пришли в Spark с опозданием.
Таким образом, для полноценной отказоустойчивой потоковой обработки, на мой взгляд, лучше использовать Spark Structured Streaming.
Spark Structured Streaming - это масштабируемый и отказоустойчивый механизм потоковой обработки данных на основе движка SparkSQL (см.
официальную документацию Spark). Движок Spark SQL заботится о том, чтобы поток данных обрабатывался постепенно и непрерывно, обновляя конечный результат по мере поступления новых потоковых данных. По итогу мы можем работать со стандартным инструментарием SQL-запросов через DataFrame API или операции Scala в DataSet API, чем Spark Structured отличается от Spark Streaming. Ключевая идея структурированной потоковой передачи состоит в том, чтобы обрабатывать поток данных в режиме реального времени как таблицу, которая постоянно обновляется - добавляются новые записи.
Эта неограниченная по глубине таблица продолжает увеличиваться по мере поступления новых данных и непрерывно обрабатывается с помощью долго выполняющегося запроса. Результаты обработки записываются в выходную таблицу. Каждый интервал триггера (скажем, каждую секунду) к входной таблице добавляются новые строки, которые в конечном итоге обновляют таблицу результатов (выходную таблицу).
На вход Spark Structured Streaming принимает файлы или данные из Kafka. Вывод данных определяет то, что именно будет записано во внешнее хранилище. Существует несколько режимов в Spark Structured Streaming:
⚙️ Режим добавления: во внешнее хранилище будут записаны только новые строки, добавленные в таблицу результатов с момента последнего триггера. Это применимо только к запросам, в которых не предполагается изменение существующих строк в таблице результатов.
⚙️ Режим обновления: во внешнее хранилище будут записываться только те строки, которые были обновлены в таблице результатов с момента последнего триггера.
⚙️ Полный режим: вся обновленная таблица результатов будет записана во внешнее хранилище. Storage Connector должен решить, как обрабатывать запись всей таблицы.
Какие же основные достоинства у этого механизма по сравнению с обычным Spark Streaming?
📍Мы используем DataFrame/DataSet вместо RDD, что обеспечивает более высокий уровень абстракции и позволяет гибко манипулировать данными, включая поддержку всех этапов оптимизации SQL-запросов
📍Начиная со Spark 2.3, в Spark Structured Streaming вместо микропакетной обработки поддерживается непрерывная, которая работает с минимальной задержкой (до 1 миллисекунды), что существенно ускоряет обработку данных.
📍Повысилась надежность и отказоустойчивость за счет условий восстановления после любой (!) ошибки - например, через воспроизводимость источника данных в случае сбоя.
📍Обработка времени события - времени, когда событие действительно (вне Spark) произошло. Это позволяет повысить точность вычислений и обработать события, которые пришли в Spark с опозданием.
Таким образом, для полноценной отказоустойчивой потоковой обработки, на мой взгляд, лучше использовать Spark Structured Streaming.
👍11
Forwarded from Data engineering events
📅 #Топ мировых конференций по Data Engineering на 2026
🧰 01/24 — Data Day Texas +AI — Austin, USA — ламповая комьюнити-конфа про инженерку данных: пайплайны, DWH/lakehouse, облака, практики прод-эксплуатации. Online только материалы/записи (если выложат).
🧭 03/09-11 — Gartner Data & Analytics Summit — Orlando, USA — data governance, architecture, operating model, “как продать и масштабировать платформу данных” в компании (полезно архитекторам/лидам). Online только материалы после (если доступны).
☁️ 04/22-24 — Google Cloud Next — Las Vegas, USA — паттерны построения data platforms в GCP: ingestion, lakehouse/warehouse, streaming, security & governance. Online только записи/хайлайты (если будут).
⚡ 05/19-20 — Current (Confluent) — London, UK — Kafka/streaming в проде: real-time ETL, schema evolution, governance, observability, event-driven архитектуры. Online только материалы/записи (если выложат).
🏛️ 05/06-08 — Data Innovation Summit — Stockholm, Sweden — современная дата-платформа: data products, governance, quality, architecture, enterprise-кейсы.
❄️ 06/01-04 — Snowflake Summit — San Francisco, USA — облачный DWH/платформа: performance, governance, sharing, ingestion/ELT, экосистема. Online только livestream ключевых + записи.
🧊 06/15-18 — Data + AI Summit (Databricks) — San Francisco, USA — lakehouse/lakehouse-ops: ingestion, streaming, governance, cost/perf, infra для MLOps/GenAI на платформе. Online только Watch On Demand.
🌀 08/31-09/02 — Airflow Summit — Austin, USA — оркестрация и ops: multi-tenant Airflow, reliability, backfills, sensors, best practices для data platform teams. Online только записи (если выложат).
🛠️ 09/15-18 — Coalesce (dbt Labs) — Las Vegas, USA — analytics engineering для прод-DWH: dbt, тесты/контракты, семантика, lineage, CI/CD. IRL + online.
🎡 09/23-24 — Big Data LDN — London, UK — большой зоопарк modern data stack: платформы, интеграции, governance/quality, архитектурные кейсы и вендоры. Online только материалы (если появятся).
🏗️ 11/30-12/04 — AWS re:Invent — Las Vegas, USA — инфраструктура под data platforms: storage/lakehouse, streaming, managed data services, security, FinOps. Online только on-demand + Best of re:Invent (virtual).
#y2026 #DE #data #conferences #dataengineering #modernDataStack #dataplatform #airflow #dbt #iceberg #kafka #streaming #dataquality #datagovernance #tobecontinued..
Сохраняй — и пусть 2026 будет годом крепких дата-платформ и бодрых релизов 🚀
* при подготовке использовались #LLM, тч делайте #фактчекинг😁 (и присылайте под пост или в директ;))
🧰 01/24 — Data Day Texas +AI — Austin, USA — ламповая комьюнити-конфа про инженерку данных: пайплайны, DWH/lakehouse, облака, практики прод-эксплуатации. Online только материалы/записи (если выложат).
🧭 03/09-11 — Gartner Data & Analytics Summit — Orlando, USA — data governance, architecture, operating model, “как продать и масштабировать платформу данных” в компании (полезно архитекторам/лидам). Online только материалы после (если доступны).
☁️ 04/22-24 — Google Cloud Next — Las Vegas, USA — паттерны построения data platforms в GCP: ingestion, lakehouse/warehouse, streaming, security & governance. Online только записи/хайлайты (если будут).
⚡ 05/19-20 — Current (Confluent) — London, UK — Kafka/streaming в проде: real-time ETL, schema evolution, governance, observability, event-driven архитектуры. Online только материалы/записи (если выложат).
🏛️ 05/06-08 — Data Innovation Summit — Stockholm, Sweden — современная дата-платформа: data products, governance, quality, architecture, enterprise-кейсы.
❄️ 06/01-04 — Snowflake Summit — San Francisco, USA — облачный DWH/платформа: performance, governance, sharing, ingestion/ELT, экосистема. Online только livestream ключевых + записи.
🧊 06/15-18 — Data + AI Summit (Databricks) — San Francisco, USA — lakehouse/lakehouse-ops: ingestion, streaming, governance, cost/perf, infra для MLOps/GenAI на платформе. Online только Watch On Demand.
🌀 08/31-09/02 — Airflow Summit — Austin, USA — оркестрация и ops: multi-tenant Airflow, reliability, backfills, sensors, best practices для data platform teams. Online только записи (если выложат).
🛠️ 09/15-18 — Coalesce (dbt Labs) — Las Vegas, USA — analytics engineering для прод-DWH: dbt, тесты/контракты, семантика, lineage, CI/CD. IRL + online.
🎡 09/23-24 — Big Data LDN — London, UK — большой зоопарк modern data stack: платформы, интеграции, governance/quality, архитектурные кейсы и вендоры. Online только материалы (если появятся).
🏗️ 11/30-12/04 — AWS re:Invent — Las Vegas, USA — инфраструктура под data platforms: storage/lakehouse, streaming, managed data services, security, FinOps. Online только on-demand + Best of re:Invent (virtual).
#y2026 #DE #data #conferences #dataengineering #modernDataStack #dataplatform #airflow #dbt #iceberg #kafka #streaming #dataquality #datagovernance #tobecontinued..
Сохраняй — и пусть 2026 будет годом крепких дата-платформ и бодрых релизов 🚀
* при подготовке использовались #LLM, тч делайте #фактчекинг
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥15😭6⚡4🌚1🦄1