Servidor Couchbase

Analizar los tuits de Donald Trump con Couchbase y N1QL

Eventos programados de AWS Serverless Lambda para almacenar tuits en Couchbase explicó cómo almacenar tweets en Couchbase utilizando AWS Serverless Lambda. Ahora, esta función Lambda se ha estado ejecutando durante unos días y ha recopilado 269 tweets de @realDonaldTrump. Este blog , inspirado en SQL en Twitter: El análisis más fácil con N1QLmostrará cómo se pueden analizar estos tweets utilizando N1QL.

N1QL es un lenguaje de consulta tipo SQL de Couchbase que opera sobre documentos JSON. Diferencias entre N1QL y SQL proporcionan diferencias entre N1QL y SQL. Vamos a utilizar N1QL para revelar alguna información interesante de @realDonaldTrumptweets. Muchas gracias a Sitaram del equipo N1QL para ayudar a piratear las consultas.

Cuántos Tweets

La primera consulta consiste en averiguar cuántos tweets hay disponibles en la base de datos. La consulta es bastante sencilla: Consulta:

Como puede observar, la sintaxis es muy similar a la de SQL. SELECCIONE, CONTAR y DESDE son las que ya conoce de la sintaxis SQL. recuento_tweets es un alias definido para el resultado devuelto. twitter es el bucket donde se almacenan todos los documentos JSON. Resultados:

El resultado también es un documento JSON.

Tweet Ejemplo de documento JSON

Para escribir consultas sobre un documento JSON, necesitas conocer la estructura del documento. La siguiente consulta te lo proporcionará. Consulta:

La nueva cláusula introducida es LÍMITE. Esto permite restringir el número de objetos que se devuelven en un conjunto de resultados de SELECCIONE. Resultados:

Los 5 mejores días para tuitear

Una vez realizadas las consultas básicas, veamos ahora algunos datos interesantes. ¿Cuáles son los 5 días en los que @realDonaldTrump tuiteó y el recuento de tuits? Consulta:

Habitual GRUPO POR y ORDENAR POR Las cláusulas SQL realizan la misma función. Funciones N1QL aplicar una función a los valores. La dirección createdAt se devuelve un número como cadena. TO_NUM convierte la cadena en un número. MILLIS_TO_STR convierte la cadena en una fecha. Finalmente, SUBSTR extrae la parte relevante de la fecha. Resultados:

El 17 de enero de 2017 es el día más tuiteado. Ahora bien, este resultado se limita, por supuesto, a los datos de los documentos JSON almacenados en la base de datos. Alguien tiene una base de datos más completa de tuits de @realDonaldTrump?

Frecuencia de tweets

OK, nuestra base de datos muestra que ese número máximo de tweets en un día fueron 13. Cómo puedo saber cuántos días @realDonaldTrump tuiteó un determinado número de veces? Consulta:

Esto se consigue fácilmente utilizando Consultas anidadas N1QL. Resultados:

En 47 días, sólo hay un día con un único tuit. Una suma total de recuento_tweets demuestra que no hay un solo día sin un tuit :)

La hora más habitual del día para tuitear

@realDonaldTrump es conocido por tuitear a las 3 de la mañana. Veamos cuáles son las horas más habituales en las que tuitea. Consulta:

Resultados:

Ahora parece que los tweets polémicos vienen a las 3am. Pero 39 tweets vienen a la 1pm ET, probablemente justo después del almuerzo y mientras se toma un postre ;)

Día común de la semana para tuitear

Averigüemos cuáles son los días de la semana más habituales para tuitear. Consulta:

DATE_PART_STR es una nueva función que devuelve parte de la fecha. Más información en día_de_la_semana se utiliza para obtener el día de la semana. Resultados:

Parece que el martes es el día más habitual para tuitear. Luego vienen el domingo y el miércoles al mismo nivel. El rendimiento tiende a desvanecerse cuando se acerca el fin de semana.

#22417 debería permitir informar de la parte del día de la semana en inglés.

Las 5 menciones más importantes en Tweets

Consulta:

userMentionEntities es una matriz anidada en el documento JSON. UNNEST realiza conceptualmente una unión del array anidado con su objeto padre. Cada objeto unido resultante se convierte en una entrada para la consulta. Resultados:

Ni que decir tiene que es el que más menciona su propio nombre en los tuits. Y sus dos canales de televisión favoritos Noticias Fox y CNN.

Los 5 Tweets con más RTs

Lambda Function se despierta cada 3 horas y obtiene los últimos tweets. Así que la base de datos es una instantánea de los tweets y la información asociada, como RTs y Favoritos. Así que dependiendo de cuándo se archivó el tweet, los RTs y Favoritos pueden no ser una representación exacta. Pero dada esta información, echemos un vistazo a los tweets con más RTs. Consulta:

Una consulta bastante sencilla. Resultados:

Original vs RTs

¿Cuántos tweets se escribieron frente a cuántos se retuitearon? Consulta:

Resultados:

La mayoría de los tweets son originales con sólo unos pocos RTs.

Palabras más comunes en Tweet

Consulta:

Esta consulta utiliza SPLIT función que Results:

Frecuencia de las palabras "media", "fake" y "America" en los tweets

Consulta:

BAJO se utiliza para comparar palabras independientemente del caso. Resultado:

Función lambda seguirá almacenando tweets en la base de datos.

¿Intenta realizar estas consultas usted mismo?

Referencias N1QL

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Arun Gupta, Vicepresidente, Defensa del Desarrollador, Couchbase

Arun Gupta es vicepresidente de promoción de desarrolladores en Couchbase. Ha creado y dirigido comunidades de desarrolladores durante más de 10 años en Sun, Oracle y Red Hat. Tiene una gran experiencia en liderar equipos multidisciplinares para desarrollar y ejecutar estrategias, planificar y ejecutar contenidos, campañas de marketing y programas. Anteriormente dirigió equipos de ingeniería en Sun y es miembro fundador del equipo Java EE. Gupta es autor de más de 2.000 entradas de blog sobre tecnología. Tiene una amplia experiencia como conferenciante en más de 40 países sobre innumerables temas y es una JavaOne Rock Star desde hace tres años consecutivos. Gupta también fundó el capítulo Devoxx4Kids en Estados Unidos y sigue promoviendo la educación tecnológica entre los niños. Autor de varios libros sobre tecnología, ávido corredor, trotamundos, campeón de Java, líder de JUG, miembro del Dream Team de NetBeans y capitán de Docker, es fácilmente accesible en @arungupta.

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.