jfonseca85 / shangrila-tweets

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Twitter Streaming Analyze usando Java 8, Spark Streaming, Kafka e Cassandra

Um projeto de demonstração usando Spark Streaming para analisar hashtags populares do Twitter. Os dados vêm da fonte da Twitter Streaming API e são fornecidos ao Kafka. O consumidor com.twitter.producer.service recebe dados do Kafka e, em seguida, os processa em um fluxo usando o Spark Streaming.

Estrutura

É uma estrutura de um projeto multi-módulos

  1. shangrila-producer - Realiza a consulta a api do Twitter e funciona como produtor de topico no Kafka

  2. shangrila-producer - Tem a responsabilidade de implementar as regras de negocio atraves do spark streaming e salvar no Banco de Dados (Cassandra). Também tem a responsabilidade de ser o consumidor dos topicos do Kafka.

Desenho da Arquitetura da Solução

O desenho e implementação de uma arquitetura distribuída, que realize a integração com o Twitter que seja tolerante a falhas e escalável horizontalmente, que exponha através de uma aplicação web as informações sumarizadas e descritas no Case de integração.

Alt text

Requisitos

Na próxima etapa irei demonstrar como configurar o ambiente para que executar nossa aplicação.

Guia de início Raṕido

Neste quie rápido mostrarei como configurar sua máquina para executar nosso aplicativo.

Apache Spark no Windows

  1. Descompacte o arquivo spark-2.4.1-bin-hadoop2.7.tgz em um diretório. Alt text

  2. Agora defina variáveis de ambiente SPARK_HOME = C:\Installations \spark-2.4.1-bin-hadoop2.7

Alt text

  • Instalando o binário winutils
  1. Faça o download do winutils.exe do Hadoop 2.7 e coloque-o em um diretório C: \ Installations \ Hadoop \ bin

  2. Agora defina variáveis de ambiente HADOOP_HOME = C: \ Installations \ Hadoop.

Alt text

Agora inicie o shell do Windows; você pode receber alguns avisos, que você pode ignorar por enquanto.

Alt text

  1. Mude a configuração do Twtter no arquivo \producer\src\main\resources\application.ymlcolocando suas credencias do Twtter, client Id e Secret Id.

  2. Execute a imagem kafka usando o docker-compose (lembre-se de que a imagem kafka também precisa extrair o zookeper):

~>  docker-compose -f shangrila-producer/src/main/docker/kafka-docker-compose.yml up -d   

Execute a imagem do Cassandra usando o docker-compose.

~>  docker-compose -f shangrila-consumer\src\main\docker\cassandra.yml up -d   

Verifique se o Cassandra, ZooKeeper e o Kafka estão em execução (no prompt de comando)

~> docker ps 
  1. Execute o poducer e o aplicativo do consumidor com:
~> mvn spring-boot:run

Esta documentação esta em desenvolvimento

Referências

About

License:MIT License


Languages

Language:Java 83.6%Language:HTML 11.3%Language:Shell 3.6%Language:Dockerfile 0.8%Language:CSS 0.7%