Baseado no framework Hadoop, existem outras opções para armazenar e processar os dados em um contexto de Big Data. Aqui será abordado o ELK Stack da Elastic.
A ferramenta ELK Stack (Elasticsearch, Logstash e Kibana) da Elastic tem tido um uso bastante interessante pois com ela possível filtrar os logs de maneira muito eficiente, eliminando aquilo que não interessa e usando sua engine para decodificar os dados (XML, Multilines, netflow, json e outros) acessá-los em um único lugar e importar.
Seu funcionamento é basicamente o seguinte: O Logstash recebe os logs de distintas fontes, realiza as transformações, normaliza e agrupa os mesmos, indexa no Elasticsearch, por fim, os dados podem ser visualizados no Kibana. Veja na ilustração:
Alguns dos benefícios do uso dessa ferramenta envolvem: disponibilizar dados em tempo real, podem ser distribuídos e configurados para apresentar alta disponibilidade, disponibiliza recursos de API dentre outros.
Suas ferramentas possuem as seguintes funcionalidades:
ELK STACK
Para conferir um demo, basta acessar este link: http://demo.elastic.co
A seguir, será apresentado um exemplo de uso para buscar por dados no twitter.
ATENCAO: tem que ter celular registrado no twitter
O primeiro passo é baixar os três componentes da stack ELK na página oficial do site https://www.elastic.co/downloads
Após isso, os arquivos devem ser executados da seguinte maneira através do propt de comando (ou entrando na respectiva pasta e abrindo os arquivos executáveis .bat) para realizar sua configuração:
Configurando o Elasticsearch:
Configurando o Kibana:
Para utilizar o Logstash, primeiramente alguns passos de configuração devem ser seguidos, veremos a seguir.
(Neste exemplo não será utilizado, mas caso deseje baixar os plugins, acesse https://www.elastic.co/guide/en/logstash/current/codec-plugins.html )
Obtendo acesso aos dados do Twitter:
abra ‘consumer key > manage keys and access tokens’
Entre em ‘discoverer’, depois em ‘visualize’
\(Obs_1\).: Caso pretenda filtrar os ‘tweets’, inclua conteúdo no filtro (‘filter’); sugiro ver no google: ‘logstash grok’
\(Obs_2\).: Interessante procurar mais informações sobre como se faz “mapping” e georeferenciamento
\(Obs_3\).: Existem pacotes que permitem interagir esse procedimento com o R, dois exemplos são: * library(elastic) * library(elasticsearch)
Pacote que permite a conexão com Elasticsearch, um banco de dados NoSQL.
Mais informações podem ser conferidas no manual do pacote elastic.
O uso também pode ser conferido nessa página do Github
Por fim, veja a seguir como será configurado o arquivo EXEMPLO.conf:
input {twitter {
consumer_key => "9QHT4ZvO8zc4j5LvEdSirrbvq"
consumer_secret => "OQ0KwFAAQDfNZ36IFphIRpokIHiaWhgWOLV0P5lz3uFDgkTyMo"
oauth_token => "123143847-rSneIkB2D6fH4U4CwvP0p1B7IUV0rCx4UQ1TZzVq"
oauth_token_secret => "4UAIFv0Ylg3uh8WPkPYnUy3B2lprthudOiYTxv7HrEOKg"
keywords => [ "exemploe de busca", "rj"]
full_tweet => false}}
filter { }
output {stdout {codec => dots}
elasticsearch {
hosts => "localhost"
index => "twitter"
document_type => "tweets"}}
Para mais informações, alguns links para referência e consulta: