Explore o streaming estruturado do Apache Spark
O Apache Spark é uma estrutura de processamento distribuído para análise de dados em grande escala. Você pode usar o Spark no Microsoft Azure nos seguintes serviços:
- Microsoft Fabric
- Azure Databricks
O Spark pode ser usado para executar código (geralmente escrito em Python, Scala ou Java) em paralelo em vários nós de cluster, permitindo que ele processe grandes volumes de dados de forma eficiente. O Spark pode ser usado para processamento em lote e processamento de fluxo.
Streaming estruturado do Spark
Para processar dados de streaming no Spark, você pode usar a biblioteca Spark Structured Streaming , que fornece uma interface de programação de aplicativos (API) para ingerir, processar e enviar resultados de fluxos perpétuos de dados.
O Spark Structured Streaming é construído em uma estrutura ubíqua no Spark chamada dataframe, que encapsula uma tabela de dados. Você usa a API de Streaming Estruturado do Spark para ler dados de uma fonte de dados em tempo real, como um hub Kafka, um armazenamento de arquivos ou uma porta de rede, em um dataframe "ilimitado" que é continuamente preenchido com novos dados do fluxo. Em seguida, você define uma consulta no dataframe que seleciona, projeta ou agrega os dados - geralmente em janelas temporais. Os resultados da consulta geram outro dataframe, que pode ser persistido para análise ou processamento posterior.
O Spark Structured Streaming é uma ótima opção para análise em tempo real quando você precisa incorporar dados de streaming em um data lake ou armazenamento de dados analíticos baseado no Spark.
Nota
Para obter mais informações sobre o Spark Structured Streaming, consulte o guia de programação do Spark Structured Streaming.
Delta Lake
O Delta Lake é uma camada de armazenamento de código aberto que adiciona suporte para consistência transacional, imposição de esquema e outros recursos comuns de armazenamento de dados ao armazenamento de data lake. Ele também unifica o armazenamento para streaming e dados em lote, e pode ser usado no Spark para definir tabelas relacionais para processamento em lote e fluxo. Quando usada para processamento de fluxo, uma tabela Delta Lake pode ser usada como uma fonte de streaming para consultas em dados em tempo real ou como um coletor no qual um fluxo de dados é gravado.
Os tempos de execução do Spark no Microsoft Fabric e no Azure Databricks incluem suporte para Delta Lake.
O Delta Lake combinado com o Spark Structured Streaming é uma boa solução quando você precisa abstrair dados processados em lote e streaming em um data lake atrás de um esquema relacional para consultas e análises baseadas em SQL.
Nota
Para obter mais informações sobre o Delta Lake, consulte as tabelas Lakehouse e Delta Lake.