Lidar com dados em larga escala exige diversas precauções sob o meio que vamos fazer a leitura, escrita e as iminentes transformações. O Spark traz garantias de tolerância à falhas e também escalabilidade quando desejamos trabalhar com grande volumes. Ele junto às novas APIs de Structured Streaming podem ser a solução ideal quando precisamos de armazenamento em estruturas de datalake ou data lakehouse. Vamos desvendar aqui um pouco sobre o vocabulário, alguns conceitos e pontos de partida para uso da ferramenta.
O Spark Structured Streaming nasce como uma extensão das APIs do Spark sobre os Dataframes/Datasets, isso significa que a curva de aprendizado é baixa para quem já é habituado com o framework. A já abordada tolerância a falhas, unida à escalabilidade e o conceito nativo do Spark de checkpointing são pontos que agregam qualidade aos dados: se se deseja a integração de eventos em larga escala, com um baixo intervalo de processamento e entrega, este ferramental é um ótimo ponto de partida!
Esta serie de artigos é escrita com base no livro Stream Processing with Apache Spark e na documentação oficial do Spark Structured Streaming. Clique aqui para visualizar todo o conteúdo da série.