El complemento de fuente de BigQuery te permite conectar y cargar datos de las 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
Por lo general, Cloud Data Fusion tiene dos cuentas de servicio:
- Cuenta de servicio del tiempo de diseño: Agente de servicios de la API de Cloud Data Fusion
- Cuenta de servicio de tiempo de ejecución: Cuenta de servicio de Compute Engine
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 necesitas agregar 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 predeterminada del tiempo de diseño, agrégale los permisos de la lista anterior.
Cuenta de servicio de Compute Engine
En tu Google Cloud proyecto, otorga los siguientes roles o permisos de IAM a la cuenta de servicio de Compute Engine:
- Usuario de trabajo de BigQuery (
roles/bigquery.jobUser
). Este rol predefinido contiene el permisobigquery.jobs.create
requerido. Editor de datos de BigQuery (
roles/bigquery.dataEditor
). Este rol predefinido contiene los siguientes permisos obligatorios:bigquery.datasets.get
bigquery.tables.create
bigquery.tables.get
bigquery.tables.updateData
bigquery.tables.update
bigquery.tables.export
Estos roles y permisos también se pueden asignar en el conjunto de datos o la tabla de BigQuery, según tu caso de uso.
Escritor de depósitos heredados de almacenamiento (
roles/storage.legacyBucketWriter
). Este rol predefinido contiene los siguientes permisos obligatorios:storage.buckets.get
storage.objects.get
storage.objects.list
Este rol y estos permisos también se pueden asignar en el bucket de Cloud Storage, según tu caso de uso.
Configura el complemento
- Ve a la interfaz web de Cloud Data Fusion y haz clic en Studio.
- Verifica que esté seleccionada la opción Data Pipeline - Batch (no Realtime).
- En el menú Fuente, haz clic en BigQuery. El nodo de BigQuery aparece en tu canalización.
- Para configurar la fuente, ve al nodo de BigQuery y haz clic en Propiedades.
Ingresa las siguientes propiedades. Para obtener una lista completa, consulta Propiedades.
- Ingresa una Etiqueta para el nodo de BigQuery, por ejemplo,
BigQuery tables
. Ingresa los detalles de la conexión. Puedes configurar una conexión nueva y única, o una conexión existente y reutilizable.
Nueva conexión
Para agregar una conexión única a BigQuery, sigue estos pasos:
- En el campo Project ID, deja el valor como detección automática.
- Si el conjunto de datos de BigQuery está en un proyecto diferente, ingresa el ID en el campo ID del proyecto de conjunto de datos.
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:
- Activa Usar conexión.
- Haz clic en Browse connections.
Haz clic en el nombre de la conexión, por ejemplo, BigQuery Default.
Opcional: Si no existe una conexión y deseas crear una nueva conexión reutilizable, haz clic en Agregar conexión y consulta los pasos que se indican en la pestaña Nueva conexión de esta página.
En el campo Reference name, ingresa un nombre para usar en el linaje.
Opcional: Si tu conjunto de datos ya está disponible en tu instancia, haz clic en Explorar y selecciona los datos que deseas leer.
En el campo Dataset, ingresa el nombre del conjunto de datos que contiene la tabla.
En el campo Tabla, ingresa el nombre de la tabla.
Para probar la conectividad, haz clic en Obtener esquema.
Opcional: En el campo Fecha de inicio de la partición, ingresa la cadena de fecha de inicio inclusiva, por ejemplo,
2021-01-11
.Opcional: En el campo Fecha de finalización de la partición, ingresa la cadena de fecha de finalización inclusiva, por ejemplo,
2024-01-11
.Opcional: En el campo Filtro, ingresa una cláusula
WHERE
de BigQuery.Opcional: En el campo Nombre del bucket temporal, ingresa un nombre para el bucket de Cloud Storage.
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 de la clave.
Opcional: Activa Habilitar vistas de consulta. Si los habilitas, haz lo siguiente:
- En el campo Temporary table creation project, ingresa el nombre del proyecto en el que se creará la tabla temporal.
- En el campo Conjunto de datos para la creación de tablas temporales, ingresa el nombre del conjunto de datos en el que se creará la tabla temporal.
Opcional: Haz clic en Validar y corrige los errores que se encuentren.
Haz clic en
Cerrar. Las propiedades se guardan y puedes seguir compilando tu canalización de datos en la interfaz web de Cloud Data Fusion.
- Ingresa una Etiqueta para el nodo de BigQuery, por ejemplo,
Propiedades
Propiedad | Macro habilitada | Propiedad obligatoria | Descripción |
---|---|---|---|
Etiqueta | No | Sí | Es el nombre del nodo en tu canalización de datos. |
Cómo usar la conexión | No | No | Busca una conexión reutilizable a la fuente. Para obtener más información sobre cómo agregar, importar y editar las conexiones que aparecen cuando exploras conexiones, consulta Administra conexiones. |
Conexión | Sí | Sí | 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 | Sí | No | Se usa solo cuando Usar conexión está desactivada. Es un identificador único a nivel global para el proyecto en el que se ejecuta la tarea de BigQuery. El valor predeterminado es auto-detect . |
ID del proyecto del conjunto de datos | Sí | No | Se usa solo cuando la opción Usar conexión está desactivada. Si el conjunto de datos está en un proyecto diferente al que ejecuta el trabajo de BigQuery, este valor es el identificador único a nivel global del proyecto con el conjunto de datos de BigQuery. Si no se proporciona ningún valor, el campo se establece de forma predeterminada en el valor del ID de proyecto. Se debe otorgar el rol de Visualizador de datos de BigQuery a la cuenta de servicio especificada para leer los datos de BigQuery en el proyecto. |
Tipo de cuenta de servicio | Sí | No | Selecciona una de las siguientes opciones:
|
Ruta de acceso al archivo de la cuenta de servicio | Sí | No | Se usa solo cuando el valor del tipo de cuenta de servicio es Ruta de acceso al archivo. Es la ruta de acceso del sistema de archivos local de la clave de la cuenta de servicio que se usa para la autorización. Si los trabajos se ejecutan en clústeres de Dataproc, configura el valor para que se detecte automáticamente. Si las tareas se ejecutan en otros tipos de clústeres, el archivo debe estar presente en cada nodo del clúster. El valor predeterminado es auto-detect . |
JSON de la cuenta de servicio | Sí | No | Se usa solo cuando el valor del tipo de cuenta de servicio es JSON. Es el contenido del archivo JSON de la cuenta de servicio. |
Nombre de referencia | No | Sí | Es el nombre que identifica de forma única esta fuente para otros servicios, como el linaje y la anotación de metadatos. |
Conjunto de datos | Sí | Sí | Es 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 | Sí | Sí | 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). A cada tabla la define un esquema que describe los nombres de las columnas, los tipos de datos y otra información. |
Fecha de inicio de la partición | Sí | No | Es la 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 la fecha de finalización de la partición. |
Fecha de finalización de la partición | Sí | No | Es la 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 a partir de la fecha de inicio de la partición. |
Filtro | Sí | No | Una consulta SQL que filtra 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 | Sí | No | El bucket de Cloud Storage para el almacenamiento de datos temporales. Si no existe, se crea de forma automática. Los datos temporales se borran después de leerlos. Si no se proporciona un nombre, se crea un bucket único y, luego, se lo borra después de que finaliza la ejecución. |
Nombre de la clave de encriptación | Sí | No | Clave que encripta los datos escritos en cualquier bucket creado por el complemento. Si el bucket existe, este valor se ignora. Para obtener más información, consulta CMEK. |
Habilita la consulta de vistas | Sí | No | Si se permiten las vistas lógicas y materializadas de BigQuery. Dado que las vistas de BigQuery no están habilitadas de forma predeterminada, es posible que consultarlas genere una sobrecarga de rendimiento. El valor predeterminado es No. |
Proyecto de creación de tablas temporales | Sí | No | Solo se usa cuando la opción Habilitar vistas de consulta está activada. Es 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 | Sí | No | Es el conjunto de datos del 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 | Sí | Sí | Es el 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 del 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 |
Notas de la versión
¿Qué sigue?
- Obtén más información sobre los complementos en Cloud Data Fusion.