sql >> Base de Datos >  >> RDS >> Database

Conexión de Google BigQuery al software IRI Voracity

BigQuery es un almacén de datos administrado y sin servidor en Google Cloud diseñado para permitir un análisis escalable de petabytes de datos. Es una plataforma de base de datos relacional como servicio (PaaS) que admite consultas ANSI SQL. Como tal, funciona con el software IRI.

Conectar Google BigQuery RDB a IRI Workbench y el programa de procesamiento de back-end SortCL es simple y permite el movimiento y la manipulación de sus datos estructurados a través de productos IRI compatibles. Esto significa IRI CoSort, FieldShield, NextForm y RowGen, o la plataforma IRI Voracity que los incluye a todos.

La conectividad sigue el mismo paradigma que todas las demás bases de datos relacionales compatibles con IRI. Esto significa la descarga e instalación, configuración (uso y prueba con sus credenciales), registro y validación del controlador ODBC y JDBC.

Como Workbench se basa en Eclipse, necesita una conexión JDBC para ver el esquema de BigQuery y analizar los metadatos de la tabla. Y para pasar datos entre BigQuery y el motor de manipulación de datos de SortCL, también se necesita un controlador ODBC. El resultado final podría ser este:

Google se asoció con Magnitude Simba para proporcionar controladores ODBC y JDBC para conectarse a BigQuery. Sin embargo, en el momento de escribir este artículo, a su controlador JDBC le faltan las funciones clave que Workbench necesita. Para evitar esto, use el controlador JDBC de CData.

Este artículo proporciona instrucciones paso a paso para que el software IRI acceda a BigQuery.

Cuentas de servicio en BigQuery

BigQuery autoriza el acceso a los recursos según la identidad verificada, que necesita una ID de usuario en forma de cuenta de servicio y una clave/contraseña. Para crear una identidad verificada, inicie sesión en BigQuery, vaya a Cuentas de servicio en IAM y administración y cree una cuenta:

El primer campo crea el nombre de la cuenta de servicio, para mi configuración lo llamé iri-simba. El segundo campo se completará automáticamente con la dirección de correo electrónico de una cuenta de servicio con el nombre que eligió. El último campo se puede omitir. Haga clic en Crear y continuar.

Ahora que se creó una cuenta de servicio, podemos pasar al tipo de permisos que puede tener esta cuenta. Haz clic en Seleccionar un rol y busque BigQuery para agregar roles específicos para la base de datos.

Al pasar el cursor sobre cada rol, obtendrá una descripción rápida de qué tipo de acceso le dará este rol a la cuenta de servicio; encuentra una explicación más detallada aquí. Esto permite un mayor control sobre la concesión de permisos a usuarios específicos, como la capacidad de poder ver tablas, crear consultas o ejecutar como administrador.

Elegí la función de usuario de BigQuery, que permitirá que esta cuenta de servicio vea y manipule tablas. Se omite "Otorgar acceso de usuario a esta cuenta de servicio". Al hacer clic en Listo lo lleva de regreso a la página principal de la cuenta de servicio donde puede ver la cuenta:

Pasando a la segunda parte, creemos la clave que se asociará con la nueva cuenta de servicio. En el campo Acción, haga clic en Administrar claves para crear la clave para la cuenta de servicio, ya sea agregando su propia clave o creando una para usted.

Si tiene Google para crear su clave, le presentará dos opciones de tipo de clave, JSON o P12. Elija el tipo JSON porque esta clave también se usará para el controlador JDBC que usa el formato JSON.

Cuando se crea la clave JSON, se descargará en la computadora. Puede colocarlo donde desee, pero recuerde la ruta porque se usará para configurar el controlador ODBC y JDBC.

Ahora que se ha creado la cuenta de servicio y tiene una clave que actuará como contraseña, pasemos a descargar la conexión ODBC y configurarla.

ODBC – Descarga y Configuración

Estoy usando un sistema operativo Windows y elijo la versión de Windows de 64 bits para compatibilidad con el ejecutable CoSort V10.5 SortCL. Una vez que haya seguido las instrucciones y aceptado el contrato de licencia del instalador de Simba, abra el Administrador de fuente de datos ODBC (64 bits) para configurar la conexión.

Simplemente agregue y busque el controlador llamado "Simba ODBC Driver for Google BigQuery".

Con el controlador seleccionado, la página de configuración debería verse así:

Aquí la configuración es realmente simple, comenzando con el nombre de la fuente de datos.
Elegí el nombre Google BigQuery, pero puedes elegir cualquier nombre para tu caso de uso.

Para la autenticación, mantenga la opción predeterminada Cuenta de servicio y baje al correo electrónico. Aquí puede copiar y pegar el correo electrónico de la cuenta de servicio que se creó anteriormente en este artículo.

El campo siguiente (Ruta del archivo de claves) utiliza la ruta del archivo de claves JSON como entrada. En la parte inferior donde dice Catálogo (Proyecto) haga clic en el menú desplegable. Si todo está configurado correctamente, debería mostrar el nombre del proyecto y el nodo que contiene los conjuntos de datos y las tablas.

Puede hacer lo mismo para la opción Conjunto de datos, haga clic en el menú desplegable para seleccionar un conjunto de datos específico o déjelo vacío para ver todos los conjuntos de datos en este proyecto. Finalmente, prueba la conexión para asegurarte de que todo funciona correctamente.

Cuando se configura ODBC, podemos configurar el controlador JDBC.

JDBC – Descarga y Configuración

Descargue el controlador JDBC de CData aquí. Una vez que se complete la instalación, habrá una carpeta llamada GoogleBigQueryJDBCDriver con un setup.jar dentro.

El archivo setup.jar instalará todos los archivos necesarios para que funcione la conexión JDBC. También contiene un jar especial para ayudar a crear la URL de conexión para el controlador JDBC.

Después de que setup.jar complete la instalación, debemos tener listas las configuraciones en Workbench. En el Explorador de fuentes de datos (dentro de Workbench), agregue una nueva conexión haciendo clic en Nuevo perfil de conexión .

Aparecerá una ventana emergente (como la imagen de abajo) y le dará varias opciones sobre el tipo de conexiones que se pueden crear. Seleccione el JDBC genérico y asígnele un nombre como BigQuery, esto hará que sea más fácil de detectar en el Explorador de fuentes de datos.

La página siguiente le indicará que configure el controlador y proporcione los detalles de la conexión. Haga clic en Nueva definición de controlador que parece una brújula con un signo más verde.

La siguiente página le permite dar un nombre específico al controlador si lo desea. Pasando a la pestaña JAR List, aquí es donde se agregan los archivos jar necesarios para que funcione el controlador JDBC.

Si se utilizó la ubicación predeterminada al instalar los archivos para el controlador JDBC, debe ubicarse en la carpeta Archivos de programa con el nombre CData. Dentro de la carpeta lib hay un archivo Jar llamado cdata.jdbc.googlebigquery.GoogleBigQueryDriver , agregue ese jar a la lista y vaya a la pestaña Propiedades.

*La ruta predeterminada se ve en la imagen a continuación si hay algún problema para ubicar el archivo jar*

En la pestaña Propiedades, debemos crear una URL de conexión, dar un nombre a la base de datos y especificar la clase de controlador. Centrándose primero en crear la URL de conexión, en el Explorador de archivos localice el archivo jar que acaba de agregar y ejecútelo.

Esto ayudará a crear la URL de conexión en el formato que sugiere CData. Como se ve en la imagen a continuación, hay propiedades a la izquierda que deben configurarse para crear la URL de conexión.

CData tiene documentación sobre qué propiedades deben configurarse según cómo el usuario eligió autenticarse. Dado que nos estamos autenticando con una cuenta de servicio, las propiedades que deben configurarse se enumeran a continuación.

  • AuthScheme:establecido en OAuthJWT
  • ProjectID:ubicado en la página de inicio de BigQuery
  • Iniciar OAuth:establecer en GETANDREFRESH
  • OAuthJWTCertType:establecido en GOOGLEJSON
  • OAuthJWTCert:ruta al archivo .json proporcionado por Google

Una vez configuradas todas las propiedades, pruebe la conexión para asegurarse de que todo funciona. Si tiene éxito, copie la cadena de conexión en la parte inferior. Si sale sin copiar la URL de conexión, deberá configurar las propiedades nuevamente.

De vuelta en Workbench, pegue la URL junto a la propiedad URL de conexión y agregue el nombre de la base de datos para la propiedad Nombre de la base de datos. Para la propiedad Driver Class, hay un botón con tres puntos en el campo vacío.

Haga clic en él y le dará la opción de ingresar el nombre de la clase de controlador o escanear la Lista JAR para el controlador. Una vez que todo esté hecho, debería verse similar a esto:

Haga clic en Aceptar y se le enviará de vuelta a la página "Especificar un controlador y los detalles de la conexión". No es necesario agregar un nombre de usuario o contraseña porque toda la información está en la URL de conexión. Pruebe la conexión por última vez y haga clic en Finalizar.

El perfil de conexión ahora estará visible en el Explorador de fuentes de datos y los esquemas/tablas se pueden ver una vez que haga clic con el botón derecho en el perfil y elija conectar.

La última tarea es crear un Registro de conexión de datos que asigne el DSN al Perfil de conexión que se acaba de crear. Vaya al Menú IRI, seleccione preferencias y localice el Registro de conexión de datos como sugiere la imagen a continuación.

A la izquierda está el DSN ya la derecha están los perfiles de conexión. Localice el DSN creado en la sección ODBC anterior y haga clic en Editar…. Seleccione el DSN, la versión y el perfil de conexión.

Dado que el DSN tiene las credenciales guardadas en la URL de conexión, no es necesario autenticarse con un usuario/contraseña. Haga clic en Aceptar y Aplicar y cerrar para salir del menú.

Ya ha terminado con los pasos de conectividad de la base de datos para Google BigQuery. Si necesita ayuda, envíe un correo electrónico a [email protected].