Explorar o streaming estruturado do Apache Spark
Apache Spark é uma estrutura de processamento distribuído para análise de dados em larga 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 volumes muito grandes de dados com eficiência. O Spark pode ser usado para processamento em lotes e de fluxo.
Streaming estruturado do Spark
Para processar dados de streaming no Spark, você pode usar a biblioteca Streaming Estruturado do Spark, que fornece uma interface de programação de aplicativo (API) para ingestão, processamento e saída de resultados de fluxos perpétuos de dados.
O Streaming Estruturado do Spark é criado em uma estrutura onipresente no Spark chamada dataframe, que encapsula uma tabela de dados. Você usa a API do 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 "sem limites" que é continuamente preenchido com novos dados do fluxo. 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 adicional.
O fluxo estruturado do Spark é uma ótima opção para análise em tempo real quando você precisa incorporar dados de streaming em um repositório de dados analíticos ou data lake baseado no Spark.
Observação
Para obter mais informações sobre o Streaming Estruturado do Spark, confira o Guia de programação de Streaming Estruturado do Spark.
Delta Lake
Delta Lake é uma camada de armazenamento de código aberto que adiciona suporte para consistência transacional, aplicação de esquema e outros recursos comuns de data warehouse ao armazenamento de data lake. Ele também unifica o armazenamento para dados em lote e streaming e pode ser usado no Spark para definir tabelas relacionais para processamento em lotes e em fluxo. Quando usada para processamento de fluxo, uma tabela Delta Lake pode ser usada como 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 Microsoft Fabric e Azure Databricks incluem suporte para Delta Lake.
O Delta Lake combinado com o fluxo estruturado do Spark é uma boa solução quando você precisa abstrair em lote e transmitir dados processados em um data lake por um esquema relacional para análise e consulta baseada em SQL.
Observação
Para obter mais informações sobre Delta Lake, confira Tabelas Lakehouse e Delta Lake.