Introducción a las fuentes de datos externas
En esta página, se proporciona una descripción general sobre la consulta de datos almacenados fuera de BigQuery.
Una fuente de datos externa es una fuente de datos que puedes consultar directamente desde BigQuery, aunque los datos no estén almacenados en BigQuery. Por ejemplo, es posible que tengas datos en una base de datos diferente de Google Cloud, en archivos en Cloud Storage o en algún otro producto en la nube que desees analizar en BigQuery pero que aún no quieres migrar.
Los casos de uso de fuentes de datos externas incluyen los siguientes:
- Para las cargas de trabajo de ELT (extraer-cargar-transformar), carga y limpia los datos en un pase y escribe el resultado limpio en el almacenamiento de BigQuery mediante una consulta
CREATE TABLE ... AS SELECT
. - Unir tablas de BigQuery con datos que cambian con frecuencia desde una fuente de datos externa. Cuando consultas la fuente de datos externa directamente, no necesitas volver a cargar los datos en el almacenamiento de BigQuery cada vez que este cambia.
BigQuery tiene dos mecanismos diferentes para consultar datos externos: tablas externas y consultas federadas.
Tablas externas
Las tablas externas son similares a las tablas estándar de BigQuery, ya que estas tablas almacenan sus metadatos y su esquema en el almacenamiento de BigQuery. Sin embargo, sus datos residen en una fuente externa.
Las tablas externas se encuentran dentro de un conjunto de datos y las administras de la misma manera que lo haces con una tabla de BigQuery estándar. Por ejemplo, puedes ver las propiedades de la tabla, configurar los controles de acceso, etcétera. Puedes consultar estas tablas y, en la mayoría de los casos, puedes unirlas con otras tablas.
Existen cuatro tipos de tablas externas:
- Tablas de BigLake
- Tablas de BigQuery Omni
- Tablas de objetos
- Tablas externas que no sean BigLake
Tablas de BigLake
Las tablas de BigLake te permiten consultar datos estructurados en almacenes de datos externos con delegación de acceso. La delegación de acceso separa el acceso a la tabla de BigLake del acceso al almacén de datos subyacente. Se usa una conexión externa asociada con una cuenta de servicio para conectarse al almacén de datos. Debido a que la cuenta de servicio controla la recuperación de datos del almacén de datos, solo tienes que otorgar a los usuarios acceso a la tabla de BigLake. Esto te permite aplicar seguridad detallada a nivel de tabla, incluida la seguridad a nivel de fila y a nivel de columna. Para las tablas de BigLake basadas en Cloud Storage, también puedes usar el enmascaramiento de datos dinámicos. Para obtener más información sobre las soluciones de análisis de múltiples nubes mediante tablas de BigLake con datos de Amazon S3 o Blob Storage, consulta BigQuery Omni.
Para obtener más información, consulta Introducción a las tablas de BigLake.
Tablas de objetos
Las tablas de objetos te permiten analizar datos no estructurados en Cloud Storage. Puedes hacer análisis con funciones remotas o hacer inferencias mediante BigQuery ML y, luego, unir los resultados de estas operaciones con el resto de tus datos estructurados en BigQuery.
Al igual que las tablas de BigLake, las tablas de objetos usan la delegación de acceso, que separa el acceso a la tabla de objetos del acceso a los objetos de Cloud Storage. Se usa una conexión externa asociada con una cuenta de servicio para conectarse a Cloud Storage, por lo que solo tienes que otorgar a los usuarios acceso a la tabla de objetos. Esto te permite aplicar la seguridad a nivel de fila y administrar a qué objetos tienen acceso los usuarios.
Para obtener más información, consulta Introducción a las tablas de objetos.
Tablas externas que no sean BigLake
Las tablas externas que no sean BigLake te permiten consultar datos estructurados en almacenes de datos externos. Para consultar una tabla externa que no sea BigLake, debes tener permisos sobre la tabla externa y la fuente de datos externa. Por ejemplo, para consultar una tabla externa que no sea BigLake y que usa una fuente de datos en Cloud Storage, debes tener los siguientes permisos:
bigquery.tables.getData
bigquery.jobs.create
storage.buckets.get
storage.objects.get
Para obtener más información, consulta Introducción a las tablas externas.
Consultas federadas
Las consultas federadas te permiten enviar una declaración de consulta a las bases de datos de AlloyDB, Spanner o Cloud SQL y obtener el resultado como una tabla temporal. Las consultas federadas usan la API de BigQuery Connection para establecer una conexión con AlloyDB, Spanner o Cloud SQL.
En tu consulta, debes usar la función EXTERNAL_QUERY
para enviar una sentencia de consulta a la base de datos externa con el dialecto SQL de esa base de datos.
Los resultados se convierten en tipos de datos de GoogleSQL.
Para obtener más información, consulta Introducción a las consultas federadas.
Comparación de las funciones de las fuentes de datos externas
En la siguiente tabla, se compara el comportamiento de las fuentes de datos externas:
Tablas de BigLake | Tablas de objetos | Tablas externas que no sean BigLake | Consultas federadas | |
---|---|---|---|---|
Usa la delegación de acceso | Sí, a través de una cuenta de servicio | Sí, a través de una cuenta de servicio | No | Sí, a través de una cuenta de usuario de base de datos (solo Cloud SQL) |
Puede basarse en varios URIs de origen | Sí | Sí | Sí (solo en Cloud Storage) | No aplicable |
Asignación de filas | Las filas representan el contenido del archivo | Las filas representan metadatos de archivos | Las filas representan el contenido del archivo | No aplicable |
Otras herramientas de procesamiento de datos pueden acceder con conectores | Sí (solo en Cloud Storage) | No | Sí | No aplicable |
Se puede unir a otras tablas de BigQuery | Sí (solo en Cloud Storage) | Sí | Sí | Sí |
Se puede acceder como una tabla temporal | Sí (solo en Cloud Storage) | No | Sí | Sí |
Funciona con Amazon S3 | Yes | No | No | No |
Funciona con Azure Storage | Yes | No | No | No. |
Funciona con Bigtable | No. | No | Yes | No. |
Funciona con Spanner | No. | No | No | Yes |
Funciona con Cloud SQL | No | No | No | Yes |
Funciona con Google Drive | No | No | Yes | No |
Funciona con Cloud Storage | Yes | Sí | Sí | No |
¿Qué sigue?
- Obtén más información sobre tablas de BigLake.
- Obtén más información sobre las tablas de objetos.
- Obtén más información sobre las tablas externas.
- Obtén más información sobre las consultas federadas.
- Obtén más información sobre los precios de BigQuery.