Criando um data source personalizado para o Apache Spark
![Imagem](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizZG2FV68sYzlNUaNC34xTOmLWMZmNJQJuFLf9LvW6vYT13stRb3-PmWlBLMNz32nCcYwVAMnEwUcPl2HlRWhD6vqvOmjYWLCLDg3S_VGZZ1unyqX8PUmEi3Zl0Hx6oToeOtw3Jft1-54X/w400-h145/Screenshot+2021-07-17+183450.png)
O Spark é uma ferramenta de processamento para grandes volumes de dados que permite o uso de diversas fontes de dados. É uma plataforma muito flexível, onde conseguimos ler e escrever arquivos em diversos formatos (CSV, JSON, Parquet, etc.), bancos de dados (MySQL, SQL Server, DynamoDB, etc.) e até ferramentas de streaming / mensageria (Kafka, etc.). Esses providers podem ser adicionados como bibliotecas externas ao Spark e, caso você não encontre nenhum que atenda os seus requisitos, o Spark permite a criação dos seus próprios data sources implementando a API DataSourceV2, introduzida na versão 2.3 do Spark. É com a ideia de exercitar esse conceito que eu resolvi criar um data source para escrever em uma fila da AWS (SQS). O código fonte pode ser encontrado em https://github.com/fabiogouw/spark-aws-messaging e o componente foi disponibilizado como uma biblioteca pública no repositório central do Maven . Criando seu próprio data source O diagrama abaixo mostra as classes que foram ne