Obtén metadatos de vistas mediante INFORMATION_SCHEMA

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

A fin de obtener información o metadatos sobre un conjunto de datos, debes tener asignada la función READER al nivel del conjunto de datos o una función IAM al nivel de proyecto que incluya los permisos bigquery.datasets.get. Todas las funciones de IAM al nivel de proyecto predefinidas incluyen permisos bigquery.datasets.get, excepto bigquery.jobUser.

Para obtener más información sobre las funciones de IAM y los permisos en BigQuery, consulta Control de acceso. A fin de obtener más información sobre las funciones a nivel del conjunto de datos, consulta Funciones básicas para conjuntos de datos.

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 al que el usuario actual tiene acceso.

La vista INFORMATION_SCHEMA.SCHEMATA tiene el esquema siguiente:

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 siempre es NULL
CREATION_TIME TIMESTAMP La hora o fecha de creación del conjunto de datos
LAST_MODIFIED_TIME TIMESTAMP La última hora o fecha de modificación del conjunto de datos
LOCATION STRING La ubicación geográfica del conjunto de datos

Ejemplos

En el siguiente ejemplo, 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 del proyecto predeterminado: myproject.

Para ejecutar la consulta en un proyecto que no sea el predeterminado, agrega el ID del proyecto al conjunto de datos en el formato siguiente: `[PROJECT_ID]:[DATASET].INFORMATION_SCHEMA.[VIEW]`, por ejemplo, `myproject:mydataset.INFORMATION_SCHEMA.SCHEMATA`.

Para ejecutar la consulta, haz lo siguiente:

Console

  1. Abre la IU web de BigQuery en GCP Console.

    Ir a la IU web de BigQuery

  2. Ingresa la consulta de SQL estándar siguiente en la casilla Editor de consulta. INFORMATION_SCHEMA requiere la sintaxis de SQL estándar. SQL estándar es la sintaxis predeterminada en GCP Console.

    SELECT
     * EXCEPT(schema_owner)
    FROM
     `INFORMATION_SCHEMA.SCHEMATA`
    
  3. Haz clic en Ejecutar.

Línea de comandos

Usa el comando query y especifica la sintaxis de SQL estándar con las marcas --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 manera siguiente:

  +----------------+---------------+---------------------+---------------------+-----------------+
  |  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 al que el usuario actual tiene acceso.

La vista INFORMATION_SCHEMA.SCHEMATA_OPTIONS tiene el esquema siguiente:

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 de 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 del 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.

Ejemplos

Ejemplo 1:

En el ejemplo siguiente, se recuperan las fechas de vencimiento de la tabla predeterminada para todos los conjuntos de datos de tu proyecto predeterminado (myproject), mediante la consulta a 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 en el formato siguiente: `[PROJECT_ID]:[DATASET].INFORMATION_SCHEMA.[VIEW]`, por ejemplo, `myproject:mydataset.INFORMATION_SCHEMA.SCHEMATA_OPTIONS`.

Para ejecutar la consulta, haz lo siguiente:

Console

  1. Abre la IU web de BigQuery en GCP Console.

    Ir a la IU web de BigQuery

  2. Ingresa la consulta de SQL estándar siguiente en la casilla Editor de consulta. INFORMATION_SCHEMA requiere la 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"
    
  3. Haz clic en Ejecutar.

Línea de comandos

Usa el comando query y especifica la sintaxis de SQL estándar con las marcas --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 manera siguiente:

  +----------------+---------------+-------------------------------+-------------+---------------------+
  |  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), mediante una consulta a 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 en el formato siguiente: `[PROJECT_ID]:[DATASET].INFORMATION_SCHEMA.[VIEW]`, por ejemplo, `myproject:mydataset.INFORMATION_SCHEMA.SCHEMATA_OPTIONS`.

Para ejecutar la consulta, haz lo siguiente:

Console

  1. Abre la IU web de BigQuery en GCP Console.

    Ir a la IU web de BigQuery

  2. Abre la IU web de BigQuery en GCP Console.

    Ir a la IU web de BigQuery

  3. Ingresa la consulta de SQL estándar siguiente en la casilla Editor de consulta. INFORMATION_SCHEMA requiere la 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"
    
  4. Haz clic en Ejecutar.

Línea de comandos

Usa el comando query y especifica la sintaxis de SQL estándar con las marcas --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 manera siguiente:

  +----------------+---------------+-------------+---------------------------------+------------------------+
  |  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

¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

¿Necesitas ayuda? Visita nuestra página de asistencia.