Servidor Couchbase

Analisar os tweets de Donald Trump com Couchbase e N1QL

Eventos agendados do AWS Serverless Lambda para armazenar tweets no Couchbase explicou como armazenar tweets no Couchbase usando o AWS Serverless Lambda. Agora, essa função Lambda está sendo executada há alguns dias e coletou 269 tweets de @realDonaldTrump. Este blog, inspirado por SQL no Twitter: Análise facilitada com o N1QLA partir de agora, o N1QL mostrará como esses tweets podem ser analisados usando o N1QL.

N1QL é uma linguagem de consulta semelhante ao SQL da Couchbase que opera em documentos JSON. Diferenças entre N1QL e SQL fornecem diferenças entre N1QL e SQL. Vamos usar o N1QL para revelar algumas informações interessantes de @realDonaldTrumptweets. Muito obrigado a Sitaram da equipe N1QL para ajudar a hackear as consultas.

Quantos Tweets

A primeira consulta é para descobrir quantos tweets estão disponíveis no banco de dados. A consulta é bem simples: Consulta:

Como você pode notar, a sintaxe é muito semelhante à do SQL. SELECIONAR, CONTAGEM e DE são as cláusulas com as quais você já está familiarizado na sintaxe do SQL. tweet_count é um alias definido para o resultado retornado. twitter é o bucket em que todos os documentos JSON são armazenados. Resultados:

O resultado também é um documento JSON.

Tweet Exemplo de documento JSON

Para escrever consultas em um documento JSON, você precisa conhecer a estrutura do documento. A próxima consulta lhe dará isso. Consulta:

A nova cláusula introduzida aqui é LIMITE. Isso permite restringir o número de objetos que são retornados em um conjunto de resultados de SELECIONAR. Resultados:

Os 5 principais dias de tweets

Depois que as consultas básicas estiverem concluídas, vamos analisar alguns dados interessantes. Quais são os 5 principais dias em que @realDonaldTrump tweetou e a contagem de tweets? Consulta:

Usual GRUPO POR e ORDER BY As cláusulas SQL executam a mesma função. Funções N1QL aplicar uma função aos valores. A função createdAt é retornado um número como uma cadeia de caracteres. TO_NUM converte o String em um número. MILLIS_TO_STR converte o String em uma data. Finalmente, SUBSTR extrai a parte relevante da data. Resultados:

17 de janeiro de 2017 é o dia mais tuitado. Agora, é claro que esse resultado está restrito aos dados dos documentos JSON armazenados no banco de dados. Alguém tem um banco de dados mais abrangente dos tweets de @realDonaldTrump?

Frequência de tweets

OK, nosso banco de dados mostra que o número máximo de tweets em um dia foi 13. Como faço para descobrir em quantos dias @realDonaldTrump tweetou um determinado número de vezes? Consulta:

Isso é facilmente obtido usando Consultas aninhadas N1QL. Resultados:

Em 47 dias, há apenas um dia com um único tweet. Uma soma total de tweet_count mostra que não há um único dia sem um tuíte :)

Hora mais comum em um dia To Tweet

O @realDonaldTrump é conhecido por tuitar às 3 da manhã. Vamos dar uma olhada nos horários mais comuns em que ele tuíta. Consulta:

Resultados:

Agora parece que os tweets polêmicos chegam às 3h da manhã. Mas os 39 tweets estão chegando às 13h (horário de Brasília), provavelmente logo após o almoço e enquanto comemos uma sobremesa ;)

Dia comum da semana para twittar

Vamos descobrir quais são os dias da semana mais comuns para tuitar. Consulta:

DATE_PART_STR é uma nova função que retorna a parte da data. Mais dia_da_semana é usado para obter o dia da semana. Resultados:

Parece que terça-feira é o dia mais comum para tuitar. Em seguida, vem o domingo e a quarta-feira no mesmo nível. O desempenho tende a diminuir perto do fim de semana.

#22417 deve permitir informar a parte do dia da semana em inglês.

As 5 principais menções em tweets

Consulta:

userMentionEntities é uma matriz aninhada no documento JSON. INÚTIL conceitualmente executa uma junção da matriz aninhada com seu objeto pai. Cada objeto unido resultante torna-se uma entrada para a consulta. Resultados:

Não é preciso dizer que ele é o que mais menciona seu próprio nome nos tweets! E suas duas estações de TV favoritas Fox News e CNN.

Os 5 principais tweets com RTs

A função Lambda acorda a cada 3 horas e busca os tweets mais recentes. Portanto, o banco de dados é um instantâneo dos tweets e das informações associadas, como RTs e Favoritos. Portanto, dependendo de quando o tweet foi arquivado, os RTs e os Favoritos podem não ser uma representação precisa. Mas, com essas informações, vamos dar uma olhada nos tweets com mais RTs. Consulta:

Consulta bastante direta. Resultados:

Original vs. RTs

Quantos tweets foram escritos versus retweetados? Consulta:

Resultados:

A maioria dos tweets é original, com apenas alguns RTs.

Palavras mais comuns no Tweet

Consulta:

Essa consulta usa DIVIDIR função que Results:

Frequência das palavras "mídia", "falso" e "América" nos tweets

Consulta:

INFERIOR é usada para comparar palavras independentemente do caso. Resultado:

Função lambda continuará a armazenar tweets no banco de dados.

Tente você mesmo fazer essas consultas?

Referências N1QL

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Arun Gupta

Arun Gupta é o vice-presidente de defesa do desenvolvedor na Couchbase. Ele criou e liderou comunidades de desenvolvedores por mais de 10 anos na Sun, Oracle e Red Hat. Ele tem grande experiência na liderança de equipes multifuncionais para desenvolver e executar estratégias, planejamento e execução de conteúdo, campanhas de marketing e programas. Antes disso, liderou equipes de engenharia na Sun e é membro fundador da equipe Java EE. Gupta é autor de mais de 2.000 postagens em blogs sobre tecnologia. Ele tem uma vasta experiência em palestras em mais de 40 países sobre diversos tópicos e é um JavaOne Rock Star há três anos consecutivos. Gupta também fundou o capítulo Devoxx4Kids nos EUA e continua a promover a educação tecnológica entre as crianças. Autor de vários livros sobre tecnologia, corredor ávido, viajante do mundo inteiro, campeão de Java, líder de JUG, membro do NetBeans Dream Team e capitão do Docker, ele pode ser facilmente acessado em @arungupta.

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.