Servidor Couchbase

Programación en R con Coucbhase NoSQL Queries & Maps

Muchos analistas de datos estadísticos y científicos de datos utilizan la Lenguaje de programación R para hacer sus números fuera de una base de datos. Del mismo modo, los analistas de bases de datos intentan hacer todo en la misma base de datos siempre que sea posible para mantener una única fuente. Couchbase proporciona una base común para tender puentes entre conjuntos de datos JSON, potentes lenguajes de consulta y herramientas analíticas como R. 

Su naturaleza distribuida y tolerante a fallos y su esquema flexible son sólo algunas de las razones por las que las empresas recurren a Couchbase. Más información Por qué las empresas utilizan NoSQL para ofrecer productos de nueva generación.

En SDK de Couchbase cubre los lenguajes de programación más populares: Java, .NET, Node.js, Go y más. Pero no necesita proporcionar una unidad específica para R porque puede utilizar fácilmente la API REST.

En este post, resucito un tutorial de programación en R de un blog anterior y veo cómo funciona R con la última versión de Couchbase. Los ejemplos muestran cómo ejecutar una consulta tabular N1QL/SQL sobre los datos JSON, así como mapear las ubicaciones resultantes de algunos de los datos geoespaciales

¿Qué es R?

R satisface la necesidad de disponer de un conjunto de herramientas gráficas y de cálculo estadístico de código abierto similar a productos patentados como SAS y SPSS. Abarca el análisis estadístico y la visualización gráfica, y está especialmente indicado para gráficos de documentación científica listos para su publicación.

¿Es R mejor que Python para el análisis estadístico? Eso está abierto a debate, y sin embargo hay muchos defensores. De hecho, para muchos desarrolladores, puede ser el entorno analítico más popular que hayan nunca utilizado. En un proyecto global de búsqueda de empleo en programación Rel autor encontró la programación en R en 5º lugar detrás de Python, SQL, Java y Amazon ML. Se situó moderadamente por encima de C/C++, Tableau, Hadoop e incluso SAS en cuanto a conjuntos de herramientas de análisis estadístico de datos.

El ecosistema que generó proporciona decenas de miles de paquetes que añaden potentes capacidades de análisis, análisis de series temporales, visualización y mucho más. Existen varios IDE para crear soluciones; en este artículo utilizaré Estudio R (que he utilizado fácilmente por primera vez mientras escribía este artículo).

Configuración de Couchbase

La instalación por defecto del servidor Couchbase tiene todo lo necesario para este tutorial. Sugiero instalarlo en un único nodo, idealmente el PC que estés usando con R Studio para que la URL de conexión sea localhost. Estoy usando la versión beta de Couchbase 7.x.

Una vez instalado, configure un nuevo cubo con el viaje-muestra conjunto de datos y crear un nuevo usuario que tenga acceso a ese bucket.

Configuración de R Studio

Siguiente, instalar R y luego R Studio Desktop (versión gratuita) con todas las opciones predeterminadas. Una vez finalizada la instalación, inicie R Studio y seleccione Herramientas -> Instalar paquetes e instalar estos cuatro: httr, jsonlite, ggplot2, leaflet.

Alternativamente, puede ejecutar el siguiente código en la consola de codificación de R:

R Studio se irá e instalará un montón de dependencias subyacentes para usted. Mientras tanto, continúa con el siguiente paso mientras eso se ejecuta.

Prueba de consulta N1QL en Couchbase

Antes de empezar con el código de programación en R, vamos a probar la consulta utilizando la pestaña Consulta de la ventana Consola web de Couchbase.

Si has tenido que trabajar con JSON antes, verás lo sencillo que puede ser consultar documentos en Couchbase usando una sintaxis familiar.

El resultado muestra las 20 principales compañías aéreas y el número de vuelos que tiene cada una en la base de datos de la muestra.

R Codificación Consulta N1QL

Configure su proyecto R estableciendo los requisitos de la biblioteca en la parte superior del script en la consola:

Para construir la consulta y manejar las respuestas de datos, creamos algunas variables.

En primer lugar, se proporciona la información de conexión para Couchbase, incluyendo la URL, el puerto y el nombre de usuario y la contraseña que creó anteriormente:

A continuación, codifique también la consulta en su propia variable. Tenga en cuenta las comillas dobles escapadas que son necesarias (\").

Lo siguiente es configurar la petición HTTP:

Y luego recibir la respuesta real de la solicitud y asignarla a una variable para contener los datos:

 

Couchbase R Programming SQL Query output

¡Eso es! 

Visualización de resultados de consultas desde Couchbase

Ahora podemos ver los resultados de la consulta introduciendo la variable de datos:

R-Studio, con la extensión ggplot y unos pocos ajustes, es una forma sencilla de visualizar rápidamente los datos de una variable:

Couchbase R Programming SQL Query chart

Ahora puedes modificar la consulta o el código ggplot y experimentar con otros enfoques.

Mapear datos geoespaciales desde Couchbase usando R Coding

La potencia de algunos de los otros paquetes es increíble. Para el siguiente ejemplo, utilizamos la codificación R que aprovecha el paquete Biblioteca cartográfica en línea Leaflet

Modifiquemos la consulta para listar los hoteles que admiten mascotas. Como los datos del hotel incluyen un objeto geográfico de latitud y longitud ("geo"), podemos hacer fácilmente una consulta de tipo mapa de los resultados.

Ajusta tu consulta para incluir el nombre, la latitud y la longitud junto con un par de filtros sencillos:

Pruébalo en la consola web de Couchbase y obtendrás 37 resultados. Luego pon la consulta en las variables como antes:

Los resultados serán similares a los siguientes:

Couchbase R Programming SQL Query output

Para hacer el mapa, utilizamos el paquete de folletos y proporcionamos algunos ajustes para identificar los campos que se utilizarán para ubicar los símbolos de los marcadores en el mapa.

R Studio es un gran IDE rico en información que permite la edición de código, consola interactiva, y componentes de visualización incorporados, incluyendo el mapa, al igual que ggplot hizo con el gráfico anterior. 

Couchbase R Programming SQL Query Mapping in Leaflet web map

Naturalmente, puede ampliar cualquiera de los cristales en consecuencia:

Couchbase R Programming with Map and Leaflet Web Map

Conclusión

La flexibilidad de Couchbase y R, con su potente conjunto de paquetes de terceros, son una gran combinación. Los desarrolladores de aplicaciones pueden dejar los datos en la base de datos central y aprovechar la conmutación por error, el procesamiento distribuido, la búsqueda de texto completo y la analítica SQL. 

Mientras tanto, la misma base de datos puede servir a los analistas que necesitan una API fácil de usar para acceder a los datos sin tener que hacer múltiples copias fuera de línea.

Este enfoque integral de la plataforma de datos sigue atrayendo a empresas de todos los tamaños que necesitan simplificar su arquitectura y, al mismo tiempo, hacerla más estable y escalable.

Lecturas complementarias

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

Autor

Publicado por Tyler Mitchell - Director de Marketing de Producto

Trabaja como Gerente Senior de Marketing de Producto en Couchbase, ayudando a llevar el conocimiento sobre los productos a la luz pública, mientras que también apoya a nuestros equipos de campo con contenido valioso. Su pasión personal es todo lo geoespacial, habiendo trabajado en GIS durante la mitad de su carrera. Ahora la IA y la búsqueda vectorial son lo primero en lo que piensa.

2 Comentarios

  1. Gracias por esta útil introducción. Cómo se envía el signo de porcentaje, por ejemplo, como en:


    where meta(d).id LIKE '1TP1Algo%'

    Las consultas que contienen % fallan todas indicando que no hay declaración. Escapar con \ y doble %% tampoco parece resolverlo. ¿Es algo de R y no hay forma de evitarlo?

    1. Content-Type="application/x-www-form-urlencoded", por lo que el cuerpo/consulta debe estar codificado en url.

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.