Изучение структурированной потоковой передачи Apache Spark
Apache Spark — это платформа распределенной обработки для крупномасштабной аналитики данных. Spark в Microsoft Azure можно использовать в следующих службах:
- Microsoft Fabric
- Azure Databricks
Spark можно использовать для параллельного запуска кода (обычно написанного на языке Python, Scala или Java) на нескольких узлах кластера, что позволяет эффективно обрабатывать очень большие объемы данных. Spark можно использовать для потоковой и пакетной обработки.
Структурированная потоковая передача Spark
Для обработки потоковых данных в Spark можно использовать библиотеку Spark Structured Streaming, которая предоставляет программный интерфейс (API) для приема, обработки и вывода результатов из непрерывных потоков данных.
Spark Structured Streaming создана на основе распространенной структуры Spark, называемой кадром данных, которая инкапсулирует таблицу данных. Вы используете API Spark Structured Streaming для чтения данных из источника данных в режиме реального времени, такого как концентратор Kafka, хранилище файлов или сетевой порт, в "безграничный" кадр данных, который постоянно заполняется новыми данными из потока. Затем вы определяете запрос в кадре данных, который выбирает, проецирует или агрегирует данные — часто во временных окнах. Результаты запроса генерируют другой кадр данных, который можно сохранить для анализа или дальнейшей обработки.
Структурированная потоковая передача Spark отлично подходит для аналитики в режиме реального времени, когда требуется включить потоковую передачу данных в хранилище данных на основе озера данных Spark или аналитических данных.
Примечание.
Дополнительные сведения о Spark Structured Streaming см. в руководстве по программированию Spark Structured Streaming.
Delta Lake
Delta Lake — это уровень хранилища с открытым исходным кодом, который добавляет поддержку согласованности транзакций, принудительного применения схемы и других общих функций хранилища данных в Data Lake Storage. Он также объединяет хранилище для потоковых и пакетных данных и может использоваться в Spark для определения реляционных таблиц как для пакетной, так и для потоковой обработки. При применении для потоковой обработки таблицу Delta Lake можно использовать в качестве источника потоковой передачи для запросов данных в режиме реального времени или в качестве приемника, в который записывается поток данных.
Среды выполнения Spark в Microsoft Fabric и Azure Databricks включают поддержку Delta Lake.
Delta Lake в сочетании со структурированной потоковой обработкой Spark — хорошее решение, когда вам нужно абстрагировать пакетные и потоковые обработанные данные в озере данных за реляционной схемой для запросов и анализа на основе SQL.
Примечание.
Дополнительные сведения о Delta Lake см. в таблицах Lakehouse и Delta Lake.