Introducción a las fuentes de datos externas
En esta página se ofrece una descripción general de la consulta de datos almacenados fuera de BigQuery.
Las fuentes de datos externas se pueden consultar directamente desde BigQuery, aunque los datos no estén almacenados ahí. Por ejemplo, puedes tener datos en una base de datos Google Cloud diferente, en archivos de Cloud Storage o en cualquier otro producto de la nube que quieras analizar en BigQuery, pero que no vayas a migrar.
Las fuentes de datos externas pueden tener varios usos, como los siguientes:
- En cargas de trabajo de extracción-carga-transformación (ELT), para cargar y limpiar tus datos de una sola vez y escribir el resultado limpio en el almacenamiento de BigQuery mediante una consulta
CREATE TABLE ... AS SELECT
. - Para unir tablas de BigQuery y datos que cambian con frecuencia desde una fuente de datos externa. Si envías consultas directamente a la fuente de datos externa, no es necesario volver a cargar los datos en el almacenamiento de BigQuery cada vez que cambie.
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 almacenan sus metadatos y su esquema en el almacenamiento de BigQuery. Sin embargo, sus datos se encuentran en una fuente externa.
Las tablas externas se encuentran en un conjunto de datos y se gestionan de la misma forma que las tablas estándar de BigQuery. Por ejemplo, puedes ver las propiedades de la tabla, configurar controles de acceso, etc. Puedes consultar estas tablas y, en la mayoría de los casos, combinarlas con otras.
Hay cuatro tipos de tablas externas:
- Tablas de BigLake
- Tablas de BigQuery Omni
- Tablas de objetos
- Tablas externas que no son de 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 desacopla el acceso a la tabla de BigLake del acceso al almacén de datos subyacente. Se usa una conexión externa asociada a una cuenta de servicio para conectarse al almacén de datos. Como la cuenta de servicio se encarga de obtener los datos del almacén de datos, solo tiene que conceder acceso a los usuarios a la tabla de BigLake. De esta forma, puedes aplicar una seguridad pormenorizada a nivel de tabla, incluida la seguridad a nivel de fila y de columna. En el caso de las tablas de BigLake basadas en Cloud Storage, también puedes usar el enmascaramiento dinámico de datos. Para obtener más información sobre las soluciones de analíticas multinube que usan tablas de BigLake con datos de Amazon S3 o Blob Storage, consulta BigQuery Omni.
Para obtener más información, consulta la introducción a las tablas BigLake.
Tablas de objetos
Las tablas de objetos te permiten analizar datos sin estructurar en Cloud Storage. Puedes realizar análisis con funciones remotas o inferencias con BigQuery ML y, a continuación, combinar 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 desacopla el acceso a la tabla de objetos del acceso a los objetos de Cloud Storage. Una conexión externa asociada a una cuenta de servicio se usa para conectarse a Cloud Storage, por lo que solo tienes que conceder a los usuarios acceso a la tabla de objetos. De esta forma, puedes aplicar la seguridad a nivel de fila y gestionar a qué objetos tienen acceso los usuarios.
Para obtener más información, consulta el artículo Introducción a las tablas de objetos.
Tablas externas que no son de BigLake
Las tablas externas que no son de BigLake te permiten consultar datos estructurados en almacenes de datos externos. Para consultar una tabla externa que no sea de BigLake, debes tener permisos para la tabla externa y para la fuente de datos externa. Por ejemplo, para consultar una tabla externa que no sea de BigLake y que use una fuente de datos de 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 el artículo Introducción a las tablas externas.
Consultas federadas
Las consultas federadas te permiten enviar una declaración de consulta a bases de datos de AlloyDB, Spanner o Cloud SQL y obtener el resultado en forma de tabla temporal. Las consultas federadas usan la API de conexión de BigQuery para establecer una conexión con AlloyDB, Spanner o Cloud SQL.
En tu consulta, usas la función EXTERNAL_QUERY
para enviar una instrucción de consulta a la base de datos externa mediante 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 el artículo Introducción a las consultas federadas.
Comparación de funciones de 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 son de 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 Cloud Storage) | No aplicable |
Asignación de filas | Las filas representan el contenido del archivo | Las filas representan los metadatos de los archivos. | Las filas representan el contenido del archivo | No aplicable |
Se puede acceder a ellos con otras herramientas de tratamiento de datos mediante conectores | Sí (solo Cloud Storage) | No | Sí | No aplicable |
Se puede combinar con otras tablas de BigQuery | Sí (solo Cloud Storage) | Sí | Sí | Sí |
Se puede acceder a ella como una tabla temporal | Sí (solo Cloud Storage) | No | Sí | Sí |
Funciona con Amazon S3 | Sí | No | No | No |
Funciona con Azure Storage | Sí | No | No | No |
Funciona con Bigtable | No | No | Sí | No |
Funciona con Spanner | No | No | No | Sí |
Funciona con Cloud SQL | No | No | No | Sí |
Funciona con Google Drive | No | No | Sí | No |
Funciona con Cloud Storage | Sí | Sí | Sí | No |
Siguientes pasos
- Más información sobre las tablas de BigLake
- Más información sobre las tablas de objetos
- Más información sobre las tablas externas
- Más información sobre las consultas federadas
- Obtén más información sobre los precios de BigQuery.