Hace un mes, Simba Technologies ha anunciado que ha publicado avances para desarrolladores de los controladores ODBC y JDBC. El año pasado anunciamos que Simba Technologies ha creado estos controladores ODBC y JDBC para su uso con Couchbase. Estos controladores permiten a los analistas de datos que utilizan herramientas como Microsoft Excel y Tableau acceder rápidamente a los datos de Couchbase Server.

¿Cómo se utilizan exactamente estos controladores? Vamos a ver específicamente cómo consultar datos utilizando el controlador ODBC con Microsoft Excel para Mac y Windows.

Requisitos previos

  • Servidor Couchbase 4.0+
  • Microsoft Excel 2011+
  • Un cubo con datos

Uso con Mac OS X

Comience descargando e instalando el último archivo DMG del controlador ODBC de Simba para Mac OS. En este artículo, utilizaremos la versión 1.0.0.0002 para Mac.

Si utilizas una versión reciente de Mac OS, tendrás que descargar otro programa para configurar el controlador recién instalado.  Gestor ODBC para Mac detectará el controlador instalado y le permitirá configurar a qué servidor y puerto conectarse a través de Microsoft Excel.

Creación de índices de cubos

Antes de conectarnos a Couchbase Server a través de Excel, debemos crear índices de bucket para permitir la ejecución de consultas N1QL. Con Couchbase Server ejecutándose, desde el Terminal Mac, ejecuta el siguiente comando:

Lo anterior lanzará el cliente de consultas de Couchbase. Para los propósitos de este ejemplo, vamos a crear un único índice primario. Con CBQ en ejecución, introduzca lo siguiente:

¡El cubo ya está listo para N1QL!

Conexión con Microsoft Excel

Inicie ODBC Manager y seleccione Sistema DNS o Usuario DNS pestañas. Básicamente, lo que se ajuste a sus necesidades.

ODBC Manager - Mac

Cuando esté listo, pulse el botón Añadir y el controlador de Simba Technologies debería aparecer en la lista para elegir.

ODBC Manager Simba Couchbase - Mac

Dé un nombre a la fuente de datos y añada dos pares clave-valor muy importantes:

Por supuesto, el host debe coincidir con el host real en el que reside tu Couchbase Server. En el ejemplo anterior, Couchbase Server se estaría ejecutando en tu máquina local.

Cree una nueva hoja de cálculo de Microsoft Excel y haga clic en Base de datos del Datos pestaña. Lo mismo se puede conseguir haciendo Datos -> Obtener datos externos -> Nueva consulta a la base de datos de la barra de herramientas.

ODBC Excel Add Database - Mac

Una vez hecho esto, aparecerá una ventana similar a la que hemos visto en el software ODBC Manager. Si por alguna razón no aparece la entrada del controlador creada anteriormente, sigue adelante y créala de nuevo. Haga clic en el botón Prueba y se te pedirá que introduzcas un nombre de usuario y una contraseña. Este es el mismo nombre de usuario y contraseña utilizado para conectarse a su servidor Couchbase.

ODBC Excel Simba Login - Mac

Si la prueba se realiza correctamente, pulse el botón Ok para conectarse y empezar a analizar los datos.

Una vez conectado, deberías ver una lista de buckets encontrados en tu Couchbase Server. Ahora tienes dos opciones para consultar los datos.

Consulta mediante una consulta N1QL

Haga clic en el botón Vista SQL e introduzca la consulta que desee. Tenga en cuenta que cuantos más datos piense devolver, más tardará en ejecutarse. Suponiendo que el viaje-muestra está instalado y tiene configurada la indexación adecuada, introduzca la siguiente consulta:

Si existen treinta documentos, se devolverán.

ODBC Excel Query - Mac

Haga clic en el botón Prueba y, a continuación, pulse Devolver datos cuando la consulta haya finalizado.

Consultas con Microsoft Excel Builder

Suponiendo que el viaje-muestra y tiene configurada la indexación adecuada, seleccione la opción viaje-muestra cubo y haga clic en Añadir tabla.

ODBC Excel Query Builder - Mac

Una vez añadido, juega con los campos y haz clic en Devolver datos cuando esté listo.

Uso con Microsoft Windows

Empiece descargando e instalando el último archivo MSI del controlador ODBC de Simba para Microsoft Windows.

Creación de índices de cubos

Antes de conectarnos a Couchbase Server a través de Excel, debemos crear índices de bucket para permitir la ejecución de consultas N1QL. Con Couchbase Server en ejecución, desde el símbolo del sistema de Windows, ejecute el siguiente comando:

Lo anterior lanzará el cliente de consultas de Couchbase. Para los propósitos de este ejemplo, vamos a crear un único índice primario. Con CBQ en ejecución, introduzca lo siguiente:

¡El cubo ya está listo para N1QL!

Cree una nueva hoja de cálculo de Microsoft Excel y haga clic en De otras fuentes del Datos ficha. Si su fuente de datos aún no se ha añadido, elija la opción y se le pedirá que rellene cuatro elementos.

ODBC Excel Create Datasource - Windows

  1. Ponga a su conexión un nombre similar a Simba Couchbase
  2. Elija el Controlador ODBC de Simba Couchbase
  3. Si Couchbase Server se está ejecutando localmente, utilice 127.0.0.1 de lo contrario, introduzca la IP de su servidor de ejecución remota. Los valores por defecto para todo lo demás está bien
  4. Elija una tabla por defecto para la fuente de datos si la prueba de la conexión se realiza correctamente

En este punto, puede seguir con el asistente de creación de consultas o hacer clic en Cancelar para hacer las cosas por su cuenta.

Consulta con el Asistente

Con el asistente iniciado, añada primero las columnas deseadas a su consulta, o todas ellas y haga clic en Siguiente.

ODBC Excel All Columns - Windows

La siguiente pantalla del asistente le permitirá añadir cualquier lógica de consulta. Si desea devolver todas las filas, simplemente deje el valor por defecto y haga clic en Siguiente.

ODBC Excel Filter Data - Windows

La siguiente pantalla del asistente le permitirá elegir cómo ordenar los datos por defecto. Puede elegir el valor por defecto y hacer clic en Siguiente o especificar alguna clasificación.

ODBC Excel Sort Data - Windows

Elija Devolver datos a Microsoft Excel y haga clic en Terminado.

ODBC Excel Return Data - Windows

Todos los datos basados en los criterios introducidos se introducirán en la hoja de cálculo.

Consulta mediante una consulta N1QL

Haga clic en el botón SQL e introduzca la consulta que desee. Tenga en cuenta que cuantos más datos piense devolver, más tardará en ejecutarse. Suponiendo que el viaje-muestra está instalado y tiene configurada la indexación adecuada, introduzca la siguiente consulta:

Si existen treinta documentos, se devolverán.

ODBC Excel Query Data - Windows

Haga clic en Archivo -> Devolver datos a Microsoft Excel cuando la consulta haya finalizado para devolver los datos a tu hoja de cálculo.

Autor

Publicado por Nic Raboy, Defensor del Desarrollador, Couchbase

Nic Raboy es un defensor de las tecnologías modernas de desarrollo web y móvil. Tiene experiencia en Java, JavaScript, Golang y una variedad de frameworks como Angular, NativeScript y Apache Cordova. Nic escribe sobre sus experiencias de desarrollo relacionadas con hacer el desarrollo web y móvil más fácil de entender.

19 Comentarios

  1. ¡Gracias por el gran tutorial, Nic! Una corrección: debes usar la clave "server" en lugar de "host" para especificar el nombre de host en el que se ejecuta Couchbase. Otras claves y posibles valores están listados en la Guía de Instalación del Driver incluida con el driver. Gracias.

    1. Gracias por sus comentarios.

      ¿Te importaría compartir la guía de instalación del controlador que encontraste? No he visto ninguna para este controlador en particular, pero puede que se me haya escapado.

      Lo mejor,

      1. La Guía se instala junto con el driver en \'/opt/simba/couchbaseodbc/Simba ODBC Driver for Couchbase Install Guide.pdf\'. También puede descargarla por separado desde la ubicación de descarga mencionada en el blog de Simba:

        1. Supongo que es una ruta de Mac OS. En mi Mac, la ruta no existe. Las opciones para mí son los siguientes:

          /opt/simba/couchbaseodbc/ErrorMessages/
          /opt/simba/couchbaseodbc/Setup
          /opt/simba/couchbaseodbc/Herramientas
          /opt/simba/couchbaseodbc/lib

          Ninguno parece llevarme a ningún archivo PDF. ¿Qué versión del controlador instalaste? Además, no estoy seguro de si su enlace se cortó en lo que respecta a la entrada del blog. Yo no veo un enlace en cualquiera de las entradas del blog que he encontrado que apuntan hacia una guía.

          Gracias por sus comentarios. Se agradece mucho, ya que sin duda ayudará a futuros lectores :-)

          Lo mejor,

          1. Sí, es la ruta completa de Mac OS X al archivo PDF. La Guía debe estar en el directorio \'/opt/simba/couchbaseodbc/\' (en el nivel superior). He utilizado la versión actual del controlador a la que se hace referencia en el blog de Simba\ (v.1.0.0.0004). La guía también está disponible en este enlace: https://simba.app.box.com/s/fm

  2. Me preguntaba si es posible consultar Couchbase Views en lugar de una Tabla/Bucket desde Excel. ¿Podría por favor mostrar cómo si es posible? Gracias

    1. Cihan Biyikoglu agosto 11, 2015 a 9:03 pm

      Sólo puede realizar consultas basadas en N1QL a través de los controladores ODBC/JDBC y N1QL tiene acceso a las vistas creadas a través de la sentencia N1QL CREATE INDEX. Sin embargo, en este momento no puede consultar ninguna vista map-reduce creada a través de la API de vistas con ODBC/JDBC.
      gracias

      1. Gracias por la rápida respuesta. ¿Hay algún ejemplo de cómo se hace utilizando N1QL CREATE INDEX?

        1. Cihan Biyikoglu agosto 12, 2015 a 5:26 am

          CREATE INDEX index_name ON bucket_name(...) USING VIEW;

          1. Me refiero a dónde escribir realmente esta declaración. Cuando creo View voy a Couchase como http://localhsot:8091 - Vistas - luego Crear Vistas de Desarrollo. ¿Dónde puedo escribir N1QL en Couchbase? Gracias

          2. Cihan Biyikoglu agosto 12, 2015 a 3:59 pm

            Algunos enlaces que pueden ser útiles;
            - Puede utilizar una herramienta llamada CBQ si desea hacerlo a través de la línea de comandos: http://docs.couchbase.com/4.0/

            - Sintaxis de CREATE INDEX : http://docs.couchbase.com/4.0/

            estamos pensando en añadir más herramientas gráficas en las próximas versiones para las consultas N1QL.

            gracias
            -cihan

          3. Sigo un poco perdido. Cuando utilizo Crear índice a través de CBQ, ¿estoy creando una Vista? o ¿estoy consultando la Vista que ya he creado?

            Una vez creado ese índice en CBQ, ¿cómo puedo acceder a él en Excel?

            Lo siento realmente nuevo en esto.

          4. Para que quede claro.

            Ejecuto lo siguiente en CBQ:

            CREAR ÍNDICE índice-tipo-muestra-de-cerveza EN muestra de cerveza(tipo) USAR GSI;

            Entonces, ¿accedo así desde Excel?
            SELECT * FROM system:indexes WHERE name="cerveza-muestra-tipo-índice";

            Gracias de nuevo.

          5. Creo que ahora lo entiendo. El índice es igual que los índices de SQL Server - sólo relacionados con el rendimiento. Yo estaba confundido cuando dijo "vistas creadas a través de N1QL CREATE INDEX\".

            Sin embargo, no es realmente una vista como tal, ya que no puedo consultarla de esta manera:
            SELECT * FROM "muestra-de-cerveza-tipo-índice"

            Si es así, no creo que INDEX ayude porque la razón por la que estoy usando vistas es que mis archivos json son muy complejos y tienen muchos nodos - necesito aplanarlos y almacenarlos como Vistas, para poder consultarlos fácilmente en Excel.

            ¿Estoy en lo cierto? Gracias

          6. Cihan Biyikoglu agosto 14, 2015 a 4:55 pm

            Para recapitular: cbq es una herramienta de línea de comandos para que usted pueda pasar en cualquier declaración N1QL. CREATE INDEX o SELECT todo el trabajo a través de la herramienta de línea de comandos cbq. Usted puede utilizar todos estos a través de Excel también, pero tendrá que descargar un controlador ODBC por separado para eso.

            El aplanamiento se puede hacer a través de sentencias N1QL (ver unnest por ejemplo). por lo que puede escribir sentencias para ayudar a aplanar los elementos antes de exponerlos a excel.

            Simba es el propietario del driver ODBC. Pediré a la gente de Simba que comente las capacidades de aplanamiento del driver ODBC también en este post.

          7. Trevor MacPhail agosto 17, 2015 a 3:49 pm

            Como ha dicho Cihan, N1QL no es capaz de consultar el tipo de vistas de las que hablas (creadas a través de la consola de administración). Por tanto, el driver ODBC tampoco tiene acceso a ellas. En la versión Beta del driver, puedes realizar consultas N1QL utilizando la operación UNNEST para obtener un conjunto de resultados que se parezca a lo que quieres.

            Si no lo anula, el controlador intentará hacerlo por usted cuando reciba el resultado. Por ejemplo, si SELECT * FROM muestra de cerveza DONDE tipo='cervecería\', verá varias columnas resultantes del aplanamiento en el controlador: \"geo|precisión", "geo|lat", "geo|lon", y "dirección[0]\". Observará que sólo hay una columna para la dirección, pero algunos documentos tienen dos entradas en la matriz de direcciones. Esto se debe a que la estructura de resultados se basa en el primer documento visto. Por esta razón, si vas a realizar consultas N1QL directas, sería recomendable hacer UNNEST antes.

            Sin embargo, las cosas están mejorando. La próxima versión completa del controlador ODBC incluirá una función para presentar una vista renormalizada de los datos en forma de tablas virtuales que representen diferentes partes de los documentos. A continuación, podrás utilizar SQL estándar para consultar tus datos desde diversas herramientas con capacidad SQL. Siguiendo con la muestra de cerveza como ejemplo, tendrá tres tablas: cerveza, cervecería y dirección_de_cervercería. Las tres columnas geográficas mencionadas anteriormente siguen formando parte de la tabla cervecería, pero el atributo dirección tiene su propia tabla con una columna clave que se puede unir a la columna clave asociada de la tabla cervecería.

            Y no se limita a simples matrices de cadenas como la matriz de direcciones de beer-sample. En travel-sample, obtenemos una tabla route_schedule con columnas para las tres partes de los objetos schedule: day, flight y utc. Y de nuevo, esto se puede unir a la tabla de ruta por una columna clave en cada tabla.

            Este proceso de renormalización también es personalizable. Si no desea que brewery_address sea su propia tabla pero prefiere tener columnas address[0] y address[1] en su tabla brewery, puede editar la definición de la tabla brewery para añadir esas columnas.

  3. Ian Merrington agosto 20, 2015 a 9:41 pm

    ¿Alguien ha tenido algún éxito con open office en el Mac. Puedo hacer la conexión bien, usando una conexión odbc y una base de datos de open office, pero la ejecución de una consulta sólo se cuelga y luego se bloquea.

    1. ¿Qué ocurre si limitas la consulta a un conjunto de resultados más pequeño?

  4. Cdata Software ha desarrollado The Couchbase Excel Add-In, que es una poderosa herramienta que le permite conectarse con bases de datos NoSQL Couchbase en vivo, directamente desde Microsoft Excel. Utilice Excel para leer, escribir y actualizar Couchbase. Perfecto para importaciones / exportaciones / actualizaciones masivas, limpieza y desduplicación de datos, análisis de datos basados en Excel, ¡y mucho más!

    https://www.cdata.com/drivers/couchbase/excel/

Dejar una respuesta