Skip to content

ETL que extraí diariamente os trending topics do Twitter em diversos países, realiza transformações com PySpark e envia os dados para o Amazon S3 utilizando Apache Airflow como orquestrador.

License

Notifications You must be signed in to change notification settings

gustschaefer/Twitter-Batch-ETL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Twitter Batch ETL

ETL que encontra os trending topics do Twitter em cinco países (Inglaterra, Brasil, Alemanha, Canadá, EUA e Suécia), coleta tweets (dez por padrão) relacionados a cada tópico, realiza transformações para capturar os principais dados de cada tweet, salva os dados em formato json e os converte para parquet. Após isso, os arquivos (json e parquet) são enviados para um bucket no Amazon S3.

Confira os gráficos do Airflow (Grapth View e Tree View) que representam o pipeline:

Graph View

Tree View

Com os dados salvos, você pode conferir os arquivos json e parquet em seu bucket.

Arquivos json: TweetsData-COUNTRY-yyyy-mm-dd.json

Os arquivos parquet são salvos na estrutura TweetsData-COUNTRY-yyyy-mm-dd/file.parquet

Pastas parquet: TweetsData-COUNTRY-yyyy-mm-dd/

Arquivos parquet: file.parquet e file.crc

Dependências e Executar o projeto

  • Uma conta configurada no twitter para desenvolvedores
  • Adicione suas credenciais do Tweepy no arquivo de configuração (DAG/ETL_scripts/config.py). As credenciais são fornecidas após a criação da conta (passo acima): consumer_key, consumer_secret, access_token e access_token_secret
  • Instale o Docker e docker-compose
  • Crie uma conta na AWS se ainda não possui (pode ser free tier)
  • Instale o aws cli
  • Crie e configure o seu Bucket S3
  • Modifique o bucket_name no arquivo de configuração (DAG/ETL_scripts/config.py) para o seu (criado no passo acima)

Após isso, execute o seguinte comando para criar o arquivo de configuração das suas credenciais da AWS, que serão salvas no caminho ~/.aws e posteriormente usadas no container (ver volumes em docker-compose.yml):

$ aws configure

Finalmente, use os seguintes comandos:

$ git clone https://github.com/gustschaefer/Twitter-Batch-ETL
$ cd Twitter-Batch-ETL/
$ docker-compose up -d

Após o proceso terminar, acesse http://localhost:8080/ para entrar na interface gráfica do Airflow.

O comando docker-compose up -d cria os containers necessários para o projeto, com seus volumes e variávies. Se desejar instalar mais algum pacote, adicione-o no arquivo requirements.txt e utilize o seguinte comando para reconstruir seus containers:

$ docker-compose up --build

About

ETL que extraí diariamente os trending topics do Twitter em diversos países, realiza transformações com PySpark e envia os dados para o Amazon S3 utilizando Apache Airflow como orquestrador.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published