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 de Cloud Storage y, a continuación, se leen en la canalización desde esa ubicación.
Antes de empezar
Cloud Data Fusion suele tener dos cuentas de servicio:
- Cuenta de servicio en tiempo de diseño: agente de servicio de la API de Cloud Data Fusion
- Cuenta de servicio en tiempo de ejecución: Cuenta de servicio de Compute Engine
Antes de usar el complemento de origen por lotes de BigQuery, concede los siguientes roles o permisos a cada cuenta de servicio.
Agente de servicio de la API de Cloud Data Fusion
Esta cuenta de servicio ya tiene todos los permisos necesarios, por lo que no tienes que añadir más. 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 en tiempo de diseño, añádele los permisos de la lista anterior.
Cuenta de servicio de Compute Engine
En tu Google Cloud proyecto, asigna los siguientes roles o permisos de IAM a la cuenta de servicio de Compute Engine:
- Usuario de tareas de BigQuery (
roles/bigquery.jobUser
). Este rol predefinido contiene el permisobigquery.jobs.create
necesario. Editor de datos de BigQuery (
roles/bigquery.dataEditor
). Este rol predefinido incluye 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, en función de tu caso práctico.
Editor de segmentos heredados de Storage (
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 segmento de Cloud Storage, en función de tu caso práctico.
Configurar el complemento
- Ve a la interfaz web de Cloud Data Fusion y haz clic en Studio.
- Comprueba que esté seleccionada la opción Flujo de procesamiento de datos - Lote (no En tiempo real).
- En el menú Fuente, haga clic en BigQuery. El nodo BigQuery aparecerá en tu canalización.
- Para configurar la fuente, vaya al nodo BigQuery y haga clic en Propiedades.
Introduce las siguientes propiedades. Para ver una lista completa, consulta Propiedades.
- Introduce una etiqueta para el nodo de BigQuery. Por ejemplo,
BigQuery tables
. Introduce los detalles de la conexión. Puedes configurar una conexión nueva y puntual o una conexión reutilizable que ya tengas.
Nueva conexión
Para añadir una conexión única a BigQuery, siga estos pasos:
- En el campo ID de proyecto, deja el valor de detección automática.
- Si el conjunto de datos de BigQuery está en otro proyecto, introduzca el ID en el campo ID del proyecto del conjunto de datos.
En el campo Tipo de cuenta de servicio, elige una de las siguientes opciones e introduce el contenido en el campo siguiente:
- Ruta del archivo
- JSON
Conexión reutilizable
Para reutilizar una conexión, sigue estos pasos:
- Activa Usar conexión.
- Haz clic en Ver conexiones.
Haga clic en el nombre de la conexión (por ejemplo, BigQuery Default).
.Opcional: Si no hay ninguna conexión y quieres crear una nueva que se pueda reutilizar, haz clic en Añadir conexión y sigue los pasos de la pestaña Nueva conexión de esta página.
En el campo Nombre de referencia, introduce un nombre que se usará para el linaje.
Opcional: Si el conjunto de datos ya está disponible en tu instancia, haz clic en Buscar y selecciona los datos que quieras leer.
En el campo Conjunto de datos, introduce el nombre del conjunto de datos que contiene la tabla.
En el campo Tabla, introduce el nombre de la tabla.
Para probar la conectividad, haga clic en Obtener el esquema.
Opcional: En el campo Fecha de inicio de la partición, introduce la cadena de fecha de inicio inclusiva (por ejemplo,
2021-01-11
).Opcional: En el campo Fecha de finalización de la partición, introduce la cadena de fecha de finalización inclusiva (por ejemplo,
2024-01-11
).Opcional: En el campo Filtro, introduce una cláusula
WHERE
de BigQuery.Opcional: En el campo Nombre del segmento temporal, introduce un nombre para el segmento de Cloud Storage.
Opcional: En el campo Nombre de clave de encriptado, introduce el nombre de la clave de encriptado de Cloud Key Management Service (Cloud KMS). Para obtener más información, consulta Obtener el nombre del recurso de la clave.
Opcional: Activa Habilitar consulta de vistas. Si las habilitas, haz lo siguiente:
- En el campo Proyecto de creación de tabla temporal, introduce el nombre del proyecto en el que se crea la tabla temporal.
- En el campo Conjunto de datos de creación de tabla temporal, introduce el nombre del conjunto de datos en el que se crea la tabla temporal.
Opcional: Haz clic en Validar y corrige los errores que se hayan encontrado.
Haz clic en
Cerrar. Las propiedades se guardan y puedes seguir creando tu flujo de procesamiento de datos en la interfaz web de Cloud Data Fusion.
- Introduce una etiqueta para el nodo de BigQuery. Por ejemplo,
Propiedades
Propiedad | Compatible con macros | Propiedad obligatoria | Descripción |
---|---|---|---|
Etiqueta | No | Sí | El nombre del nodo de su canalización de datos. |
Usar conexión | No | No | Busca una conexión reutilizable a la fuente. Para obtener más información sobre cómo añadir, importar y editar las conexiones que aparecen al buscar conexiones, consulta Gestionar conexiones. |
Conexión | Sí | Sí | Si la opción Usar conexión está activada, en este campo se muestra el nombre de la conexión reutilizable que selecciones. |
ID del proyecto | Sí | No | Solo se usa cuando la opción Usar conexión está desactivada. Es un identificador único global del proyecto en el que se ejecuta el trabajo de BigQuery. El valor predeterminado es auto-detect . |
ID del proyecto del conjunto de datos | Sí | No | Solo se usa cuando la opción Usar conexión está desactivada. Si el conjunto de datos está en un proyecto distinto de aquel en el que se ejecuta el trabajo de BigQuery, este valor es el identificador único global del proyecto con el conjunto de datos de BigQuery. Si no se proporciona ningún valor, el campo toma como valor predeterminado el ID de proyecto. Se debe asignar el rol Lector de datos de BigQuery a la cuenta de servicio especificada para leer los datos de BigQuery del proyecto. |
Tipo de cuenta de servicio | Sí | No | Selecciona una de las siguientes opciones:
|
Service account file path (Ruta del archivo de la cuenta de servicio) | Sí | No | Solo se usa cuando el valor de Service account type (Tipo de cuenta de servicio) es File path (Ruta de archivo). Ruta del archivo de clave de la cuenta de servicio en el sistema de archivos local que se usa para la autorización. Si los trabajos se ejecutan en clústeres de Dataproc, defina el valor como detección automática. Si las tareas 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 | Sí | No | Solo se usa cuando el valor de Tipo de cuenta de servicio es JSON. El contenido del archivo JSON de la cuenta de servicio. |
Nombre de referencia | No | Sí | 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í | El conjunto de datos al que pertenece la tabla. Un conjunto de datos se incluye en un proyecto específico. Los conjuntos de datos son contenedores de nivel superior que organizan y controlan el acceso a las tablas y las vistas. |
Tabla | Sí | Sí | Tabla de la que se va a leer. Las tablas contienen registros concretos organizados en filas. Cada uno de ellos está dividido en columnas (o 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 | Sí | No | Fecha de inicio de la partición (inclusive), 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 | Fecha de finalización exclusiva de la partición, 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 de SQL que filtra por las condiciones dadas. Por ejemplo, esta consulta devuelve todas las filas de la tabla Roster en las que la columna SchoolID tiene el valor SchoolID > 52 :SELECT * FROM Roster WHERE SchoolID > 52; . Es lo mismo que la cláusula WHERE en BigQuery. |
Nombre del segmento temporal | Sí | No | Segmento de Cloud Storage para el almacenamiento temporal de datos. Se crea automáticamente si no existe. Los datos temporales se eliminan después de leerse. Si no se proporciona ningún nombre, se crea un segmento único y, a continuación, se elimina cuando finaliza la ejecución. |
Nombre de clave de cifrado | Sí | No | Clave que cifra los datos escritos en cualquier segmento creado por el complemento. Si el contenedor existe, este valor se ignora. Para obtener más información, consulta CMEK. |
Habilitar las consultas de vistas | Sí | No | Indica si se permiten las vistas lógicas y materializadas de BigQuery. Como las vistas de BigQuery no están habilitadas de forma predeterminada, consultarlas puede suponer una sobrecarga en el rendimiento. El valor predeterminado es No. |
Proyecto de creación de tablas temporales | Sí | No | Solo se usa cuando la opción Habilitar consultas de vistas está activada. El nombre del proyecto en el que se debe crear la tabla temporal. El valor predeterminado es el mismo proyecto en el que se encuentra la tabla. |
Conjunto de datos de creación de tablas temporales | Sí | No | El conjunto de datos del proyecto especificado en el que se debe crear la tabla temporal. El valor predeterminado es el mismo conjunto de datos en el que se encuentra la tabla. |
Esquema de salida | Sí | Sí | Esquema de la tabla que se va a leer. Para obtenerlo, haga clic en Obtener el esquema. |
Asignaciones de tipos de datos
En la siguiente tabla se muestra una lista de 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 |
Notas de la versión
Siguientes pasos
- Consulta más información sobre los complementos de Cloud Data Fusion.