Vista de SCHEMATA

La vista INFORMATION_SCHEMA.SCHEMATA proporciona información sobre los conjuntos de datos en un proyecto o una región. La vista muestra una fila por cada conjunto de datos.

Antes de comenzar

Para consultar la vista SCHEMATA en busca de metadatos del conjunto de datos, necesitas el permiso bigquery.datasets.get de Identity and Access Management (IAM) a nivel de proyecto.

Cada una de las siguientes funciones predefinidas de IAM incluye los permisos que necesitas para obtener la vista SCHEMATA:

  • roles/bigquery.admin
  • roles/bigquery.dataEditor
  • roles/bigquery.dataOwner
  • roles/bigquery.dataViewer

Para obtener más información sobre IAM de BigQuery, consulta Control de acceso con IAM.

Schema

Cuando consultas la vista INFORMATION_SCHEMA.SCHEMATA, los resultados de la consulta contienen una fila por cada conjunto de datos en un proyecto al que tiene acceso el usuario actual.

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 denominado 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
DDL STRING La declaración DDL CREATE SCHEMA que se puede usar para crear el conjunto de datos
DEFAULT_COLLATION_NAME STRING El nombre de la especificación de la intercalación predeterminada, si existe; en caso contrario, NULL.

Permiso y sintaxis

Las consultas realizadas a esta vista deben incluir un calificador de región. Si no especificas un calificador regional, los metadatos se recuperan de la región de EE.UU. En la siguiente tabla, se explica el permiso de la región para esta vista:

Nombre de la vista Permiso del recurso Permiso de la región
[PROJECT_ID.]INFORMATION_SCHEMA.SCHEMATA Nivel de proyecto Región de EE.UU.
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.SCHEMATA Nivel de proyecto REGION
Reemplaza lo siguiente:

  • Opcional: PROJECT_ID: el ID del proyecto de Google Cloud. Si no se especifica, se usa el proyecto predeterminado.
  • REGION: Cualquier nombre de región del conjunto de datos. Por ejemplo, region-us.

Ejemplo

-- Returns metadata for datasets in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.SCHEMATA;

Ejemplo

Para ejecutar la consulta en un proyecto que no sea el predeterminado, agrega el ID del proyecto al conjunto de datos en este formato:

`PROJECT_ID`.INFORMATION_SCHEMA.SCHEMATA
Por ejemplo: `myproject`.INFORMATION_SCHEMA.SCHEMATA.

SELECT
  * EXCEPT (schema_owner)
FROM
  INFORMATION_SCHEMA.SCHEMATA;

El resultado es similar al siguiente. Para facilitar la lectura, algunas columnas se excluyen del resultado.

+----------------+---------------+---------------------+---------------------+------------+------------------------------------------+
|  catalog_name  |  schema_name  |    creation_time    | last_modified_time  |  location  |                   ddl                    |
+----------------+---------------+---------------------+---------------------+------------+------------------------------------------+
| myproject      | mydataset1    | 2018-11-07 19:50:24 | 2018-11-07 19:50:24 | US         | CREATE SCHEMA `myproject.mydataset1`     |
|                |               |                     |                     |            | OPTIONS(                                 |
|                |               |                     |                     |            |   location="us"                          |
|                |               |                     |                     |            | );                                       |
+----------------+---------------+---------------------+---------------------+------------+------------------------------------------+
| myproject      | mydataset2    | 2018-07-16 04:24:22 | 2018-07-16 04:24:22 | US         | CREATE SCHEMA `myproject.mydataset2`     |
|                |               |                     |                     |            | OPTIONS(                                 |
|                |               |                     |                     |            |   default_partition_expiration_days=3.0, |
|                |               |                     |                     |            |   location="us"                          |
|                |               |                     |                     |            | );                                       |
+----------------+---------------+---------------------+---------------------+------------+------------------------------------------+
| myproject      | mydataset3    | 2018-02-07 21:08:45 | 2018-05-01 23:32:53 | US         | CREATE SCHEMA `myproject.mydataset3`     |
|                |               |                     |                     |            | OPTIONS(                                 |
|                |               |                     |                     |            |   description="My dataset",              |
|                |               |                     |                     |            |   location="us"                          |
|                |               |                     |                     |            | );                                       |
+----------------+---------------+---------------------+---------------------+------------+------------------------------------------+