INFORMATION_SCHEMA
es una serie de vistas que proporcionan acceso a metadatos sobre conjuntos de datos, tablas y vistas.
Puedes consultar las vistas INFORMATION_SCHEMA.SCHEMATA
y INFORMATION_SCHEMA.SCHEMATA_OPTIONS
para recuperar metadatos sobre los conjuntos de datos en un proyecto.
Permisos necesarios
Como mínimo, para obtener información o metadatos sobre un conjunto de datos, necesitas permisos bigquery.datasets.get
. Las siguientes funciones predefinidas de Cloud IAM incluyen los permisos bigquery.datasets.get
:
bigquery.user
bigquery.metadataViewer
bigquery.dataViewer
bigquery.dataOwner
bigquery.dataEditor
bigquery.admin
Para obtener más información sobre las funciones de Cloud IAM y los permisos en BigQuery, consulta Control de acceso.
Vista SCHEMATA
Cuando consultas la vista INFORMATION_SCHEMA.SCHEMATA
, los resultados de la consulta contienen una fila para cada conjunto de datos en un proyecto donde el usuario actual tiene acceso.
La vista INFORMATION_SCHEMA.SCHEMATA
tiene el siguiente esquema:
Nombre de la columna | Tipo de datos | Valor |
---|---|---|
CATALOG_NAME |
STRING |
El nombre del proyecto que contiene el conjunto de datos |
SCHEMA_NAME |
STRING |
El nombre del conjunto de datos, también llamado datasetId |
SCHEMA_OWNER |
STRING |
El valor es siempre NULL |
CREATION_TIME |
TIMESTAMP |
La hora de creación del conjunto de datos |
LAST_MODIFIED_TIME |
TIMESTAMP |
La hora de la última modificación del conjunto de datos |
LOCATION |
STRING |
La ubicación geográfica del conjunto de datos |
Para obtener más información sobre las propiedades del conjunto de datos, consulta la página de recurso del conjunto de datos en la documentación de la API de REST.
Ejemplos
En el ejemplo siguiente, se recuperan todas las columnas de la vista INFORMATION_SCHEMA.SCHEMATA
, excepto schema_owner
, que se reserva para uso futuro. Los metadatos que se muestran corresponden a todos los conjuntos de datos presentes en el proyecto predeterminado: myproject
.
Para ejecutar la consulta en un proyecto que no sea el predeterminado, agrega el ID del proyecto al conjunto de datos con el formato siguiente: `project_id`.INFORMATION_SCHEMA.view
por ejemplo,`myproject`.INFORMATION_SCHEMA.SCHEMATA
.
Para ejecutar la consulta, haz lo siguiente:
Console
Abre la IU web de BigQuery en GCP Console.
Ingresa la siguiente consulta de SQL estándar en la casilla Editor de consulta.
INFORMATION_SCHEMA
requiere sintaxis de SQL estándar. SQL estándar es la sintaxis predeterminada en GCP Console.SELECT * EXCEPT(schema_owner) FROM INFORMATION_SCHEMA.SCHEMATA
Haz clic en Ejecutar.
CLI
Usa el comando query
y especifica la sintaxis de SQL estándar con la marca --nouse_legacy_sql
o --use_legacy_sql=false
. Se requiere la sintaxis de SQL estándar para las consultas INFORMATION_SCHEMA
.
Para ejecutar la consulta, ingresa lo siguiente:
bq query --nouse_legacy_sql \ 'SELECT * EXCEPT(schema_owner) FROM INFORMATION_SCHEMA.SCHEMATA'
Los resultados deberían verse de la siguiente manera:
+----------------+---------------+---------------------+---------------------+-----------------+ | catalog_name | schema_name | creation_time | last_modified_time | location | +----------------+---------------+---------------------+---------------------+-----------------+ | myproject | mydataset1 | 2018-11-07 19:50:24 | 2018-11-07 19:50:24 | US | | myproject | mydataset2 | 2018-07-16 04:24:22 | 2018-07-16 04:24:22 | US | | myproject | mydataset3 | 2018-02-07 21:08:45 | 2018-05-01 23:32:53 | asia-northeast1 | +----------------+---------------+---------------------+---------------------+-----------------+
Vista SCHEMATA_OPTIONS
Cuando consultas la vista INFORMATION_SCHEMA.SCHEMATA_OPTIONS
, los resultados de la consulta contienen una fila para cada conjunto de datos en un proyecto donde el usuario actual tiene acceso.
La vista INFORMATION_SCHEMA.SCHEMATA_OPTIONS
tiene el siguiente esquema:
Nombre de la columna | Tipo de datos | Valor |
---|---|---|
CATALOG_NAME |
STRING |
El nombre del proyecto que contiene el conjunto de datos |
SCHEMA_NAME |
STRING |
El nombre del conjunto de datos, también llamado datasetId |
OPTION_NAME |
STRING |
Uno de los valores de nombre en la tabla de opciones |
OPTION_TYPE |
STRING |
Uno de los valores del tipo de datos en la tabla de opciones |
OPTION_VALUE |
STRING |
Una de las opciones de valor en la tabla de opciones |
Tabla de opciones
OPTION_NAME |
OPTION_TYPE |
OPTION_VALUE |
---|---|---|
default_table_expiration_days |
FLOAT64 |
El ciclo de vida predeterminado, en días, de todas las tablas en el conjunto de datos |
friendly_name |
STRING |
El nombre descriptivo del conjunto de datos |
description |
STRING |
Una descripción del conjunto de datos |
labels |
ARRAY<STRUCT<STRING, STRING>> |
Un arreglo de STRUCT que representa las etiquetas del conjunto de datos |
Para obtener más información sobre las propiedades del conjunto de datos, consulta la página de recurso del conjunto de datos en la documentación de la API de REST.
Ejemplos
Ejemplo 1:
En el ejemplo siguiente, se recuperan las horas de caducidad de la tabla predeterminada para todos los conjuntos de datos en tu proyecto predeterminado (myproject
) a través de la consulta de la vista INFORMATION_SCHEMATA.SCHEMATA_OPTIONS
.
Para ejecutar la consulta en un proyecto que no sea el predeterminado, agrega el ID del proyecto al conjunto de datos con el formato siguiente: `project_id`.INFORMATION_SCHEMA.view
por ejemplo,`myproject`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS
.
Para ejecutar la consulta, haz lo siguiente:
Console
Abre la IU web de BigQuery en GCP Console.
Ingresa la siguiente consulta de SQL estándar en la casilla Editor de consulta.
INFORMATION_SCHEMA
requiere sintaxis de SQL estándar. SQL estándar es la sintaxis predeterminada en GCP Console.SELECT * FROM INFORMATION_SCHEMA.SCHEMATA_OPTIONS WHERE option_name="default_table_expiration_days"
Haz clic en Ejecutar.
CLI
Usa el comando query
y especifica la sintaxis de SQL estándar con la marca --nouse_legacy_sql
o --use_legacy_sql=false
. Se requiere la sintaxis de SQL estándar para las consultas INFORMATION_SCHEMA
.
Para ejecutar la consulta, ingresa lo siguiente:
bq query --nouse_legacy_sql \ 'SELECT * FROM INFORMATION_SCHEMA.SCHEMATA_OPTIONS WHERE option_name="default_table_expiration_days"'
Los resultados deberían verse de la siguiente manera:
+----------------+---------------+-------------------------------+-------------+---------------------+ | catalog_name | schema_name | option_name | option_type | option_value | +----------------+---------------+-------------------------------+-------------+---------------------+ | myproject | mydataset3 | default_table_expiration_days | FLOAT64 | 0.08333333333333333 | | myproject | mydataset2 | default_table_expiration_days | FLOAT64 | 90.0 | | myproject | mydataset1 | default_table_expiration_days | FLOAT64 | 30.0 | +----------------+---------------+-------------------------------+-------------+---------------------+
Ejemplo 2:
En el ejemplo siguiente, se recuperan las etiquetas para todos los conjuntos de datos en tu proyecto predeterminado (myproject
) a través de la consulta de la vista INFORMATION_SCHEMATA.SCHEMATA_OPTIONS
.
Para ejecutar la consulta en un proyecto que no sea el predeterminado, agrega el ID del proyecto al conjunto de datos con el formato siguiente: `project_id`.INFORMATION_SCHEMA.view
por ejemplo,`myproject`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS
.
Para ejecutar la consulta, haz lo siguiente:
Console
Abre la IU web de BigQuery en GCP Console.
Ingresa la siguiente consulta de SQL estándar en la casilla Editor de consulta.
INFORMATION_SCHEMA
requiere sintaxis de SQL estándar. SQL estándar es la sintaxis predeterminada en GCP Console.SELECT * FROM INFORMATION_SCHEMA.SCHEMATA_OPTIONS WHERE option_name="labels"
Haz clic en Ejecutar.
CLI
Usa el comando query
y especifica la sintaxis de SQL estándar con la marca --nouse_legacy_sql
o --use_legacy_sql=false
. Se requiere la sintaxis de SQL estándar para las consultas INFORMATION_SCHEMA
.
Para ejecutar la consulta, ingresa lo siguiente:
bq query --nouse_legacy_sql \ 'SELECT * FROM INFORMATION_SCHEMA.SCHEMATA_OPTIONS WHERE option_name="labels"'
Los resultados deberían verse de la siguiente manera:
+----------------+---------------+-------------+---------------------------------+------------------------+ | catalog_name | schema_name | option_name | option_type | option_value | +----------------+---------------+-------------+---------------------------------+------------------------+ | myproject | mydataset1 | labels | ARRAY<STRUCT<STRING, STRING>> | [STRUCT("org", "dev")] | | myproject | mydataset2 | labels | ARRAY<STRUCT<STRING, STRING>> | [STRUCT("org", "dev")] | +----------------+---------------+-------------+---------------------------------+------------------------+
Pasos siguientes
- Si deseas ver una descripción general de
INFORMATION_SCHEMA
, dirígete a Introducción a BigQueryINFORMATION_SCHEMA
. - Aprende a usar
INFORMATION_SCHEMA
para obtener metadatos de tablas. - Aprende a usar
INFORMATION_SCHEMA
para obtener metadatos de vistas.