Conceito e mecanismo
Um stream não tem uma conclusão única como um ficheiro fechado. Define identidade do evento, ordem necessária, tempo de negócio, retenção e recuperação. Consumer groups permitem consumo independente; checkpoints guardam progresso que cada aplicação deve gerir de forma coerente. Persistir progresso antes do efeito no destino pode saltar trabalho incompleto. Persistir depois pode repetir trabalho se ocorrer falha entre as duas ações. Em foreachBatch, a entrega é pelo menos uma vez: o destino externo precisa de idempotência ou deduplicação. Uma chave aleatória por tentativa não serve, porque transforma a mesma operação em identidades diferentes. Analisa a fronteira completa antes de prometer exactly-once.
Aplicação guiada
Watermarks limitam estado e expressam uma política para atrasos, não uma cópia de segurança. Numa consulta Structured Streaming com várias entradas, a política min acompanha a mais lenta; trocar para max pode reduzir espera e descartar dados dessa entrada. Em Stream Analytics, processing e delivery são garantias distintas. No output SQL, uma chave natural e restrição única podem reconhecer a mesma saída, por exemplo conta e fim da janela. Um replay histórico enviado ao caminho ao vivo pode sofrer descarte ou ajuste temporal; planeia um caminho adequado e reconcilia resultados. Testa falha após confirmação do destino, atraso fora da tolerância e mudança semântica do produtor, como euros convertidos em cêntimos sem mudar o nome do campo.
A API confirmou o lote91, mas o consumidor reinicia sem checkpoint atualizado. Reconcilia a operação e testa replay com identidade persistente antes de autorizar repetição.
Armadilhas comuns
Checkpoint como transação distribuída; hora de chegada como tempo de negócio; retenção como garantia de recuperação ilimitada.
Tópicos relacionados: Armazenamento, distribuição e exploração · Cargas incrementais e recuperação · Acesso ao lake e gestão de segredos
Define o que pode repetir, o que pode chegar tarde e como comprovar o resultado no destino.
Referência: Structured Streaming foreachBatch delivery · DP-203 objectives 2024-10-24; retired 2025-03-31