teoria / twitter_spark_sink

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Twitter - Data Project

Implemente uma solução que:

  • Consiga buscar tweets com uma determinada “HashTag”, por exemplo, covid19.
  • Armazenar os resultados em formato Parquet
  • Criar um datalake para que seja possível consolidar dados analíticos por hashtag e posteriormente consultar informações coletadas de forma batch / online.

Recomendamos a utilização das seguintes tecnologias:

  • Spark – Para extração, escrita e consolidação
  • Airflow – Orquestração do processamento
  • Docker / Compose – Para deploy da aplicação

Testes/Tópicos que consideramos importantes:

  • Organização
  • Testes automatizados
  • Boas práticas de Data Engineering
  • Arquitetura
  • Solução para Deploy em produção
  • Criatividade

Neste projeto foi utilizado as seguintes tecnologias open source:

Arquitetura

ingestão Streaming

Arquitetura

Transformação em batch

Arquitetura

Instalação

O projeto contém um arquivo Make para facilitar a operação.

cd devops

Instalando dependências

make install_dependencies 

Iniciando serviço de storage

make start_storage

Iniciando serviços de ingestão

O serviço de ingestão recebe na variável TWITTER_PARAM o filtro que será enviado na requisição do Twiiter.

export TWITTER_PARAM=covid19

e em seguida inicialize a ingestão

make start_ingestion 

Iniciando serviços batch

make start_batch 

Parando serviços

make stop_batch 

Verificando status dos serviços

make status 

About


Languages

Language:Python 81.4%Language:Makefile 15.5%Language:Dockerfile 3.1%