Skip to main content

Google BigQuery

Tipo de conexión

Herramienta de Alteryx. La versión más reciente está disponible en la Comunidad Alteryx.

Tipo de soporte

Leer y escribir

Se validó en

Cliente ODBC versión 2.4.6.1015

Detalles del controlador

Es posible que se necesite acción del administrador en Google Cloud para poder configurar una conexión en las herramientas de Alteryx de Google BigQuery.

Google BigQuery requiere OAuth como método de autenticación. Admitimos OAuth con el controlador ODBC de Simba a través del DSN o en Alteryx usando DCM.

Herramientas de Alteryx utilizadas para establecer conexiones

Importante

Las herramientas Google BigQuery están obsoletas. Todavía puedes utilizar la  herramienta Datos de entrada y la herramienta Datos de salida  para conectarte a Google BigQuery.

Procesamiento de flujos de trabajo estándares

Procesamiento de flujos de trabajo en base de datos

Nota

Importante

Los proyectos, los conjuntos de datos y las tablas con caracteres especiales como los guiones deben escribirse entre comillas. Para obtener más información, consulta el artículo de la Base de conocimiento Error de Google BigQuery con guiones en consulta SQL .

El procesamiento de flujo de trabajo en base de datos solo se admite usando DCM.

El conjunto de datos de Google BigQuery utilizado en las conexiones de lectura y escritura En-BD debe ser el mismo.

Configurar una conexión masiva de Google BigQuery

El uso de la carga masiva de Google BigQuery solo es compatible si también se utiliza DCM . Para utilizar la conexión masiva a través de la herramienta Datos de salida:

  1. Asegúrate de que el Administrador de conexiones de datos esté habilitado.

  2. Selecciona Configurar una conexión y, luego, Fuentes de datos - carga masiva de Google BigQuery .

  3. Selecciona Agregar una fuente de datos .

    1. Ingresa un Nombre de la fuente de datos .

    2. Ingresa un Catálogo (proyecto) . Este es el Id. de proyecto de Google BigQuery que contiene tanto el conjunto de datos en el que se escribirá la tabla como el bucket de Google Cloud Storage utilizado para el ensayo.

    3. Ingresa un conjunto de datos . Aquí es donde se escribirá la tabla final.

    4. Ingresa un nombre de bucket . Esta es la ubicación de ensayo de Google Cloud Storage para la carga masiva. El bucket tiene que estar en la misma ubicación que el proyecto.

    5. Selecciona Guardar .

  4. Selecciona + Conectar credencial . Se utiliza la misma credencial para el ensayo en Cloud Storage como en el proyecto de Google BigQuery.

    1. Selecciona un Método de autenticación .

    2. Sigue las instrucciones para usar OAuth con DCM .

  5. Selecciona Conectar .

  6. Ingresa el nombre de la tabla y selecciona Aceptar .

OAuth usando DCM

Puedes configurar la autenticación de Google BigQuery usando OAuth integrado en DCM. De esta manera, no tendrás que copiar a mano los tokens en el controlador ODBC.

Prerrequisitos

Necesitas lo siguiente para configurar OAuth:

  • Un DSN válido y preparado con la opción Autenticador establecida en OAuth .

  • La URL de autoridad de OAuth, Puerto, Id. de cliente y Secreto de cliente del administrador.

Configuración de autenticación

En Designer, arrastra la herramienta Entrada en el lienzo.

  1. Selecciona la casilla de verificación Usar Administrador de conexiones de datos (DCM) .

  2. Selecciona Configurar una conexión .

  3. En la ventana Conexiones de datos , ve a Fuentes de datos y selecciona ODBC de Google BigQuery .

  4. Se abre la ventana Administrador de conexiones . Selecciona + Agregar fuente de datos .

  5. En Tecnología , elige ODBC de Google BigQuery con Simba .

  6. Completa el Nombre de la fuente de datos y selecciona el DSN de Google BigQuery preparado.

  7. Selecciona Guardar .

  8. Para vincular las credenciales, selecciona + Conectar credencial .

  9. Selecciona OAuth como Método de autenticación .

  10. Para la Aplicación OAuth , selecciona Crear nueva credencial y completa la información necesaria (obtén la URL de autoridad de OAuth, el Puerto, el Id. de cliente y el Secreto de cliente del administrador).

  11. Selecciona Crear nueva credencial para Tokens de OAuth .

  12. Completa el Nombre de credencial y selecciona Crear y vincular .

  13. Selecciona Conectar .

  14. Inicia sesión en la ventana externa del navegador del administrador de Google.

Nota

Se te puede pedir que realices el proceso de autorización de OAuth dos veces debido a la forma en que se administran los tokens en DCM.

  • Google BigQuery siempre escribe las tablas entre comillas.

  • Los anexos se incluyen por nombre de campo. Si el nombre o el tipo de dato no coinciden, Google BigQuery muestra un error.

  • Comprueba la compatibilidad con valores nulo en las opciones específicas de formato (marcadas de forma predeterminada) para poder cargar datos nulos en Google BigQuery. Si la opción no está marcada, Google BigQuery rechazará los valores nulos.

  • Las columnas adicionales en la tabla objetivo se cargarán como nulas si no están incluidas en Alteryx.

  • Un nombre de columna debe contener solo letras (a-z, A-Z), números (0-9) o guiones bajos (_), y debe comenzar con una letra o un guion bajo. La longitud máxima del nombre de columna es de 300 caracteres. Para obtener más información, consulta la documentación de Google BigQuery .

Esquemas de conectores de salida

Los nombres y tipos de campos trasladados a la herramienta Salida de Google BigQuery deben coincidir con los de la tabla de destino de Google BigQuery. Las columnas que existen en la tabla de Google BigQuery, pero que no existen en la lista de campos de flujo de trabajo producirán valores nulos para esas columnas en los registros insertados. Esto ocasionará un error en el caso de que la columna de destino no esté configurada como NULLABLE.

Indicador de progreso de entrada

En el caso de que haya filas en el búfer de transmisión para la tabla seleccionada de una herramienta de entrada sin una consulta personalizada, la herramienta de entrada utiliza el número estimado de filas en el búfer de transmisión informado por Google mientras actualiza el porcentaje del indicador de progreso en un flujo de trabajo en ejecución. Si la estimación de Google es incorrecta, entonces el valor reportado en el indicador de progreso también podría ser incorrecto.

En el caso de que la tabla que se está consultando esté vacía y el búfer de transmisión para esa tabla no esté vacío, entonces es posible que Google calcule el número de filas en el búfer de transmisión como cero. Sin embargo, es probable que Google aún recupere filas del búfer de transmisión. Si esto sucede, no verás la actualización del porcentaje en el indicador de progreso y aparecerá una advertencia.

Configurar una conexión con las herramientas Google BigQuery

Comunícate con tu administrador de Google Cloud para obtener ayuda con tus credenciales de Google BigQuery.

A partir de la versión 22.1 de Designer se incluye una autenticación de OAuth compatible con el controlador ODBC de Simba.

Configuración de la autenticación de servicio a servicio

Puedes obtener un archivo de clave JSON de la cuenta de servicio desde la Consola de Google Cloud o puedes crear una nueva clave para una cuenta de servicio existente. Puedes encontrar más información sobre Google BigQuery en el sitio de Documentación de Google BigQuery en Crea y administra claves de cuentas de servicio .

Configuración de la autenticación de usuario final

Obtén un secreto y un ID de cliente OAuth en la página de credenciales de la consola de Google Cloud. Asegúrate de que el tipo de cliente esté establecido en “Otro”.

Nota

Utiliza la autenticación de servicio a servicio a través de la autenticación del Usuario final siempre que sea posible. Administrar claves distintas para varias aplicaciones que se autentican para la misma cuenta de servicio, permite la revocación del acceso para una aplicación específica sin requerir que las demás aplicaciones actualicen sus credenciales de autenticación.

Permisos de acceso

Los permisos para leer y escribir datos dentro de una cuenta de servicio de proyecto de Google BigQuery se deben otorgar a través de la Consola de Google Cloud . Puedes encontrar más información sobre los permisos en el sitio de Documentación de Google BigQuery .

Máxima profundidad de registros anidados y repetidos

Los registros anidados y repetidos se admiten en una profundidad de un nivel. No se admiten los registros anidados y repetidos en más de un nivel de profundidad. Puedes encontrar más información sobre los registros anidados y repetidos en el sitio de Documentación de Google BigQuery .

Datos espaciales

Google BigQuery no admite la escritura de datos espaciales.

Campos de DATETIME

Al escribir a Google BigQuery:

  • Con ODBC para escribir, Designer crea campos de fecha/hora como DATETIME, con el cargador masivo para escribir, crea campos de fecha/hora como TIMESTAMP.

  • En Google BigQuery, TIMESTAMP representa lo mismo que DATETIME y puedes usar EXTRACT para analizarla.

Compactar registros anidados y repetidos

En la entrada

Al extraer registros anidados o repetidos de una tabla de Google BigQuery, el flujo de trabajo de Alteryx compacta los registros anidados o repetidos de acuerdo con el siguiente esquema de nombres:

Un registro anidado nested_attr de la columna de nivel superior top_attr crea una nueva columna denominada nr_top_attr_nexted_attr.

En la salida

Al insertar registros desde el flujo de trabajo de Alteryx en una tabla de Google BigQuery existente, la necesidad de incorporar campos de registro en registros anidados o repetidos se especifica cambiando el nombre de los campos de registro que se dirigen al conector de salida para seguir estas convenciones de nombres.

A un registro nested_attr que se debe anidar en la columna de nivel superior top_attr se le debe cambiar el nombre a nr_top_attr_nested_attr .

A un registro nested_attr que se debe anidar y repetir un número arbitrario de veces en la columna de nivel superior top_attr se le debe cambiar el nombre a nrr_top_attr_{repetition_index}_nested_attr . Cualquier repetición que contenga todos los valores NULL en los campos anidados se descarta antes de la llamada de API para insertar nuevas filas en la tabla de Google BigQuery. Esto implica que los registros en el flujo de trabajo de Designer pueden tener un número arbitrario de repeticiones máximas, y no todos los registros deben tener la misma cantidad de repeticiones.

Limitación de AVRO

Debido a una limitación de AVRO, el cargador masivo de BigQuery no admite los tipos de datos BIGNUMERIC. Los trata como FLOAT.

Con el cargador masivo de Google BigQuery, Designer no puede crear campos como DATETIME. Antes de la versión 23.2 de Designer, el cargador masivo carga las fechas como cadenas.