Fuente por lotes de BigQuery

En esta página, se proporciona orientación para configurar el complemento de fuente por lotes de BigQuery en Cloud Data Fusion.

El complemento de origen de BigQuery te permite conectar y cargar datos de tablas de BigQuery. Los datos de una tabla de BigQuery se exportan a una ubicación temporal en Cloud Storage y, luego, se leen en la canalización desde allí.

Antes de comenzar

Cloud Data Fusion generalmente tiene dos cuentas de servicio:

Antes de usar el complemento de fuente por lotes de BigQuery, otorga los siguientes roles o permisos a cada cuenta de servicio.

Agente de servicios de la API de Cloud Data Fusion

Esta cuenta de servicio ya tiene todos los permisos necesarios y no es necesario que agregues permisos adicionales. A modo de referencia, tiene los siguientes permisos:

  • bigquery.datasets.get
  • bigquery.tables.create
  • bigquery.tables.get
  • bigquery.tables.updateData
  • bigquery.tables.update
  • bigquery.tables.export

Si usas una cuenta de servicio de espacio de nombres además de la cuenta de servicio de diseño predeterminada, agrega los permisos de la lista anterior.

Cuenta de servicio de Compute Engine

En tu proyecto de Google Cloud, otorga las siguientes funciones o permisos de IAM a la cuenta de servicio de Compute Engine:

  • Usuario de trabajo de BigQuery (roles/bigquery.jobUser). Esta función predefinida contiene el permiso bigquery.jobs.create obligatorio.
  • Editor de datos de BigQuery (roles/bigquery.dataEditor). Esta función predefinida contiene los siguientes permisos obligatorios:

    • bigquery.datasets.get
    • bigquery.tables.create
    • bigquery.tables.get
    • bigquery.tables.updateData
    • bigquery.tables.update
    • bigquery.tables.export

Estas funciones y permisos también se pueden asignar en el conjunto de datos o en la tabla de BigQuery, según tu caso de uso.

Esta función y estos permisos también se pueden asignar en el bucket de Cloud Storage, según tu caso de uso.

Cómo configurar el complemento

  1. Ve a la interfaz web de Cloud Data Fusion y haz clic en Studio.
  2. Comprueba que la opción Data Pipeline - Batch esté seleccionada (no Realtime).
  3. En el menú Fuente, haz clic en BigQuery. El nodo de BigQuery aparecerá en tu canalización.
  4. Para configurar la fuente, ve al nodo de BigQuery y haz clic en Propiedades.
  5. Ingresa las siguientes propiedades. Para obtener una lista completa, consulta Propiedades.

    1. Ingresa una Etiqueta para el nodo de BigQuery, por ejemplo, BigQuery tables.
    2. Ingresa los detalles de la conexión. Puedes configurar una conexión nueva de un solo uso, o una existente y reutilizable.

      Nueva conexión

      Para agregar una conexión de un solo uso a BigQuery, sigue estos pasos:

      1. En el campo ID del proyecto, deja el valor en la opción de detección automática.
      2. Si el conjunto de datos de BigQuery está en un proyecto diferente, ingresa el ID en el campo ID del proyecto del conjunto de datos.
      3. En el campo Tipo de cuenta de servicio, elige una de las siguientes opciones y, luego, ingresa el contenido en el siguiente campo:

        • Ruta de acceso al archivo
        • JSON

      Conexión reutilizable

      Para volver a usar una conexión existente, sigue estos pasos:

      1. Activa Usar conexión.
      2. Haz clic en Browse connections.
      3. Haz clic en el nombre de la conexión, por ejemplo, BigQuery Default.

      4. Opcional: Si no existe una conexión y deseas crear una nueva y reutilizable, haz clic en Agregar conexión y consulta los pasos de la pestaña Nueva conexión de esta página.

    3. En el campo Nombre de referencia, ingresa el nombre que se usará para el linaje.

    4. Opcional: Si el conjunto de datos ya está disponible en tu instancia, haz clic en Explorar y selecciona los datos que deseas leer.

    5. En el campo Conjunto de datos, ingresa el nombre del conjunto de datos que contiene la tabla.

    6. En el campo Tabla, ingresa el nombre de la tabla.

    7. Para probar la conectividad, haz clic en Obtener esquema.

    8. Opcional: En el campo Fecha de inicio de la partición, ingresa la string de fecha de inicio inclusiva, por ejemplo, 2021-01-11.

    9. Opcional: En el campo Fecha de finalización de la partición, ingresa la string de fecha de finalización inclusiva, por ejemplo, 2024-01-11.

    10. Opcional: En el campo Filtro, ingresa una cláusula WHERE de BigQuery.

    11. Opcional: En el campo Nombre del bucket temporal, ingresa un nombre para el bucket de Cloud Storage.

    12. Opcional: En el campo Nombre de la clave de encriptación, ingresa el nombre de la clave de encriptación de Cloud Key Management Service (Cloud KMS). Para obtener más información, consulta Cómo obtener el nombre del recurso para la clave.

    13. Opcional: Activa Habilitar vistas de consulta. Si los habilitas, haz lo siguiente:

      • En el campo Proyecto de creación de la tabla temporal, ingresa el nombre del proyecto en el que se crea la tabla temporal.
      • En el campo Conjunto de datos de creación de tablas temporales, ingresa el nombre del conjunto de datos en el que se crea la tabla temporal.
    14. Opcional: Haz clic en Validar y corrige cualquier error encontrado.

    15. Haz clic en Cerrar. Las propiedades se guardan y puedes continuar compilando tu canalización de datos en la interfaz web de Cloud Data Fusion.

Propiedades

Propiedad Macro habilitado Propiedad obligatoria Descripción
Etiqueta No El nombre del nodo en tu canalización de datos.
Usar conexión No No Busca una conexión reutilizable al origen. Para obtener más información sobre cómo agregar, importar y editar las conexiones que aparecen cuando exploras las conexiones, consulta Cómo administrar conexiones.
Conexión Si la opción Usar conexión está activada, el nombre de la conexión reutilizable que selecciones aparecerá en este campo.
ID del proyecto No Solo se usa cuando la opción Usar conexión está desactivada. Un identificador único a nivel global para el proyecto en el que se ejecuta el trabajo de BigQuery.
El valor predeterminado es auto-detect.
ID del proyecto del conjunto de datos No Solo se usa cuando la opción Usar conexión está desactivada. Si el conjunto de datos se encuentra en un proyecto diferente al en el que se ejecuta el trabajo de BigQuery, este valor es el identificador único a nivel global para el proyecto con el conjunto de datos de BigQuery. Si no se proporciona ningún valor, el campo tiene el valor predeterminado del ID del proyecto. Se debe otorgar el rol de visualizador de datos de BigQuery a la cuenta de servicio especificada para leer los datos de BigQuery del proyecto.
Tipo de cuenta de servicio No Selecciona una de las siguientes opciones:
  • Ruta de acceso al archivo: La ruta en la que se encuentra la cuenta de servicio.
  • JSON: contenido JSON de la cuenta de servicio.
Ruta de acceso del archivo de la cuenta de servicio No Solo se usa cuando el valor del tipo de cuenta de servicio es File path. Es la ruta de acceso en el sistema de archivos local de la clave de cuenta de servicio que se usó para la autorización. Si los trabajos se ejecutan en clústeres de Dataproc, configura el valor como detección automática. Si los trabajos se ejecutan en otros tipos de clústeres, el archivo debe estar presente en todos los nodos del clúster.
El valor predeterminado es auto-detect.
JSON de la cuenta de servicio No Solo se usa cuando el valor del tipo de cuenta de servicio es JSON. El contenido del archivo JSON de la cuenta de servicio.
Nombre de referencia No Nombre que identifica esta fuente de forma única para otros servicios, como linaje y metadatos de anotación.
Conjunto de datos El conjunto de datos al que pertenece la tabla. Un conjunto de datos se encuentra dentro de un proyecto específico. Los conjuntos de datos son contenedores de nivel superior que organizan y controlan el acceso a las tablas y vistas.
Tabla La tabla de la que se leerá. Una tabla contiene registros individuales organizados en filas. Cada registro está compuesto por columnas (también llamadas campos). Cada tabla se define mediante un esquema que describe los nombres de las columnas, los tipos de datos y otra información.
Fecha de inicio de la partición No Fecha de inicio de la partición inclusiva, especificada como yyyy-mm-dd. Si no se proporciona ningún valor, se leerán todas las particiones hasta su fecha de finalización.
Fecha de finalización de la partición No Fecha de finalización de la partición exclusiva, especificada como yyyy-mm-dd. Si no se proporciona ningún valor, se leen todas las particiones desde su fecha de inicio.
Filtro No Es una consulta en SQL que filtra según las condiciones determinadas. Por ejemplo, esta consulta muestra todas las filas de la tabla Roster en las que la columna SchoolID tiene el valor SchoolID > 52:
SELECT * FROM Roster WHERE SchoolID > 52;. Esto es lo mismo que la cláusula WHERE en BigQuery.
Nombre del bucket temporal No El bucket de Cloud Storage para el almacenamiento de datos temporal. Si no existe, se crea automáticamente. Los datos temporales se borran después de que se leyeron. Si no se proporciona un nombre, se crea un bucket único que se borra después de que finaliza la ejecución.
Nombre de la clave de encriptación No Clave que encripta los datos escritos en cualquier bucket creado por el complemento. Si el bucket existe, se ignora este valor. Para obtener más información, consulta CMEK.
Habilita vistas de consulta No Indica si se deben permitir las vistas lógicas y materializadas de BigQuery. Dado que las vistas de BigQuery no están habilitadas de forma predeterminada, su consulta puede generar una sobrecarga de rendimiento.
El valor predeterminado es No.
Proyecto de creación de tabla temporal No Solo se usa cuando está activada la opción Habilitar vistas de consulta. El nombre del proyecto en el que se debe crear la tabla temporal. La configuración predeterminada es el mismo proyecto en el que se encuentra la tabla.
Conjunto de datos de creación de tablas temporales No Es el conjunto de datos en el proyecto especificado en el que se debe crear la tabla temporal. La configuración predeterminada es el mismo conjunto de datos en el que se encuentra la tabla.
Esquema de salida Esquema de la tabla que se leerá. Para recuperarlo, haz clic en Obtener esquema.

Asignaciones de tipos de datos

La siguiente tabla es una lista de los tipos de datos de BigQuery con los tipos de CDAP correspondientes.

Tipo de datos de BigQuery Tipo de datos de esquema de CDAP
BOOL boolean
BYTES bytes
DATE date
DATETIME datetime, string
FLOAT64 double
GEO unsupported
INT64 long
NUMERIC decimal
BIGNUMERIC decimal
REPEATED array
STRING string, datetime (formato ISO 8601)
STRUCT record
TIME time (microsegundos)
TIMESTAMP timestamp (microsegundos)
JSON unsupported

¿Qué sigue?