Introducción a INFORMATION_SCHEMA de BigQuery

INFORMATION_SCHEMA es una serie de vistas que proporcionan acceso a la siguiente información:

Precios

Para los proyectos que usan precios según demanda, las consultas en las vistas de INFORMATION_SCHEMA incurren en un mínimo de 10 MB de cargos de procesamiento de datos, incluso si los bytes que procesa la consulta son menos de 10 MB. 10 MB es el monto mínimo de facturación para consultas a pedido. Para obtener más información, consulta los precios según demanda.

Para los proyectos que usan precios de tasa fija, las consultas en tablas y vistas INFORMATION_SCHEMA consumen las ranuras compradas de BigQuery. Para obtener más información, consulta Precios con tasa fija.

Debido a que las consultas de INFORMATION_SCHEMA no se almacenan en caché, se te cobrará cada vez que ejecutes una consulta de INFORMATION_SCHEMA, incluso si el texto es siempre el mismo.

No se te cobran tarifas de almacenamiento por las vistas INFORMATION_SCHEMA.

Sintaxis

Puede que una vista INFORMATION_SCHEMA requiera un especificador.

Sin especificador

Las siguientes vistas INFORMATION_SCHEMA no deben tener un especificador:

  • INFORMATION_SCHEMA.SCHEMATA
  • INFORMATION_SCHEMA.SCHEMATA_OPTIONS

Por ejemplo:

SELECT * FROM `INFORMATION_SCHEMA.SCHEMATA`

Para obtener metadatos de otro proyecto, antepone el ID del proyecto a la vista.

SELECT * FROM `myOtherProject.INFORMATION_SCHEMA.SCHEMATA`;

Especificador de conjuntos de datos

Las siguientes vistas INFORMATION_SCHEMA deben tener un especificador de conjuntos de datos:

  • INFORMATION_SCHEMA.COLUMNS
  • INFORMATION_SCHEMA.COLUMN_FIELD_PATHS
  • INFORMATION_SCHEMA.ROUTINES
  • INFORMATION_SCHEMA.ROUTINE_OPTIONS
  • INFORMATION_SCHEMA.PARAMETERS
  • INFORMATION_SCHEMA.TABLES
  • INFORMATION_SCHEMA.TABLE_OPTIONS
  • INFORMATION_SCHEMA.VIEWS

Por ejemplo:

SELECT * FROM `myDataset.INFORMATION_SCHEMA.COLUMNS`

Para obtener metadatos de otro proyecto, antepone el ID del proyecto a la vista de la siguiente manera:

SELECT * FROM `myOtherProject.myDataset.INFORMATION_SCHEMA.TABLES`;

Especificador regional

Las siguientes vistas INFORMATION_SCHEMA deben tener un especificador regional.

  • INFORMATION_SCHEMA.ASSIGNMENT_CHANGES_BY_PROJECT
  • INFORMATION_SCHEMA.CAPACITY_COMMITMENT_CHANGES_BY_PROJECT
  • INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION
  • INFORMATION_SCHEMA.JOBS_BY_PROJECT
  • INFORMATION_SCHEMA.JOBS_BY_USER
  • INFORMATION_SCHEMA.RESERVATION_CHANGES_BY_PROJECT
  • INFORMATION_SCHEMA.RESERVATION_TIMELINE_BY_PROJECT

Por ejemplo:

SELECT * FROM `region-eu.INFORMATION_SCHEMA.JOBS_BY_USER`

Para obtener metadatos de otro proyecto, antepone el ID del proyecto a la vista de la siguiente manera:

SELECT * FROM `myOtherProject.region-eu.INFORMATION_SCHEMA.JOBS_BY_USER`;

Limitaciones

INFORMATION_SCHEMA de BigQuery está sujeto a las siguientes limitaciones:

  • Las consultas de INFORMATION_SCHEMA de BigQuery deben tener sintaxis de SQL estándar. INFORMATION_SCHEMA no admite SQL heredado.
  • Los resultados de consultas de INFORMATION_SCHEMA no se almacenan en caché.
  • En la actualidad, no se puede usar INFORMATION_SCHEMA para recuperar metadatos en tablas particionadas.
  • En la actualidad, no se pueden usar vistas INFORMATION_SCHEMA en las declaraciones DDL.