Conceitos de Streaming Estruturado
Este artigo fornece uma introdução ao Streaming Estruturado no Azure Databricks.
O que é Structured Streaming?
O Apache Spark Structured Streaming é um mecanismo de processamento quase em tempo real que oferece tolerância a falhas de ponta a ponta com garantias de processamento exatamente uma vez usando APIs Spark familiares. O Streaming Estruturado permite expressar a computação em dados de streaming da mesma forma que expressa uma computação em lote em dados estáticos. O mecanismo de streaming estruturado executa o cálculo de forma incremental e atualiza continuamente o resultado à medida que os dados de streaming chegam.
Ler a partir de um fluxo de dados
Você pode usar o Streaming Estruturado para ingerir dados incrementalmente de fontes de dados suportadas. As fontes de dados comuns incluem o seguinte:
- Arquivos de dados no armazenamento de objetos na nuvem. Consulte O que é Auto Loader?.
- Mensagens de ônibus e filas. Consulte Configurar fontes de dados de streaming.
- Lago Delta. Consulte Leituras e gravações de streaming de tabela Delta.
Cada fonte de dados fornece várias opções para especificar como carregar lotes de dados. Durante a configuração do leitor, talvez seja necessário configurar opções para fazer o seguinte:
- Especifique a fonte de dados ou o formato (por exemplo, tipo de arquivo, delimitadores e esquema).
- Configure o acesso aos sistemas de origem (por exemplo, configurações de porta e credenciais).
- Especifique por onde começar em um fluxo (por exemplo, deslocamentos de Kafka ou leitura de todos os arquivos existentes).
- Controle a quantidade de dados processados em cada lote (por exemplo, deslocamentos máximos, arquivos ou bytes por lote). Consulte Configurar o tamanho do lote do Streaming Estruturado no Azure Databricks.
Gravar em um coletor de dados
Um coletor de dados é o destino de uma operação de gravação de streaming. Os coletores comuns usados em cargas de trabalho de streaming do Azure Databricks incluem o seguinte:
- Delta Lake
- Barramentos de mensagens e filas
- Bancos de dados de chave-valor
Assim como acontece com as fontes de dados, a maioria dos coletores de dados fornece várias opções para controlar como os dados são gravados no sistema de destino. Durante a configuração do gravador, especifique as seguintes opções:
- Modo de saída (acrescentar por padrão). Consulte Selecionar um modo de saída para Streaming estruturado.
- Um local de ponto de verificação (obrigatório para cada gravador). Consulte Pontos de verificação de streaming estruturado.
- Intervalos de gatilho. Consulte Configurar intervalos de gatilho de Streaming Estruturado.
- Opções que especificam o coletor de dados ou formato (por exemplo, tipo de arquivo, delimitadores e esquema).
- Opções que configuram o acesso aos sistemas de destino (por exemplo, configurações de porta e credenciais).