Vista TABLE_OPTIONS
La vista INFORMATION_SCHEMA.TABLE_OPTIONS
contiene una fila por cada opción, tabla o vista de un conjunto de datos. Las vistas TABLES
y TABLE_OPTIONS
también contienen información general sobre las vistas.
Para obtener información detallada, consulta la vista INFORMATION_SCHEMA.VIEWS
.
Permisos obligatorios
Para consultar la vista INFORMATION_SCHEMA.TABLE_OPTIONS
, necesitas los siguientes permisos de gestión de identidades y accesos (IAM):
bigquery.tables.get
bigquery.tables.list
bigquery.routines.get
bigquery.routines.list
Cada uno de los siguientes roles de gestión de identidades y accesos predefinidos incluye los permisos anteriores:
roles/bigquery.admin
roles/bigquery.dataViewer
roles/bigquery.metadataViewer
Para obtener más información sobre los permisos de BigQuery, consulta Control de acceso con gestión de identidades y accesos.
Esquema
Cuando consultas la vista INFORMATION_SCHEMA.TABLE_OPTIONS
, los resultados de la consulta contienen una fila por cada opción, por cada tabla o vista de un conjunto de datos. Para obtener información detallada sobre las vistas, consulta la vista INFORMATION_SCHEMA.VIEWS
.
La vista INFORMATION_SCHEMA.TABLE_OPTIONS
tiene el siguiente esquema:
Nombre de la columna | Tipo de datos | Valor |
---|---|---|
TABLE_CATALOG |
STRING |
El ID del proyecto que contiene el conjunto de datos |
TABLE_SCHEMA |
STRING |
Nombre del conjunto de datos que contiene la tabla o la vista, también denominado datasetId |
TABLE_NAME |
STRING |
Nombre de la tabla o de la vista, también conocido como tableId |
OPTION_NAME |
STRING |
Uno de los valores de nombre de la tabla de opciones |
OPTION_TYPE |
STRING |
Uno de los valores de tipo de datos de la tabla de opciones |
OPTION_VALUE |
STRING |
Una de las opciones de valor de la tabla de opciones |
Tabla de opciones
|
|
|
---|---|---|
|
|
Una descripción de la tabla |
|
|
Si la actualización automática está habilitada en una vista materializada |
|
|
La hora en la que caduca esta tabla |
|
|
Nombre descriptivo de la tabla |
|
|
Nombre de la clave de Cloud KMS que se usa para cifrar la tabla. |
|
|
Es un array de STRUCT que representa las etiquetas de la tabla. |
|
|
La antigüedad máxima de la tabla configurada para las inserciones y actualizaciones de captura de datos de cambios (CDC) de BigQuery |
|
|
Tiempo de vida predeterminado, en días, de todas las particiones de una tabla con particiones. |
|
|
Con qué frecuencia se actualiza una vista materializada |
|
|
Indica si las consultas en la tabla requieren un filtro de partición. |
|
|
Etiquetas asociadas a una tabla con la sintaxis <clave, valor> de espacio de nombres. Para obtener más información, consulta el artículo sobre etiquetas y acceso condicional. |
En el caso de las tablas externas, se pueden usar las siguientes opciones:
Opciones | |
---|---|
allow_jagged_rows |
Si es Se aplica a los datos CSV. |
allow_quoted_newlines |
Si Se aplica a los datos CSV. |
bigtable_options |
Solo es obligatorio cuando se crea una tabla externa de Bigtable. Especifica el esquema de la tabla externa de Bigtable en formato JSON. Para ver una lista de las opciones de definición de tablas de Bigtable, consulta |
column_name_character_map |
Define el ámbito de los caracteres admitidos en los nombres de columna y el
comportamiento de los caracteres no admitidos. El ajuste predeterminado es Entre los valores admitidos se incluyen los siguientes:
Se aplica a los datos CSV y Parquet. |
compression |
El tipo de compresión de la fuente de datos. Los valores admitidos son:
Se aplica a los datos CSV y JSON. |
decimal_target_types |
Determina cómo convertir un tipo Ejemplo: |
description |
Descripción de esta tabla. |
enable_list_inference |
Si Se aplica a los datos de Parquet. |
enable_logical_types |
Si Se aplica a los datos de Avro. |
encoding |
La codificación de caracteres de los datos. Entre los valores admitidos se incluyen los siguientes:
Se aplica a los datos CSV. |
enum_as_string |
Si Se aplica a los datos de Parquet. |
expiration_timestamp |
La hora en la que caduca esta tabla. Si no se especifica, la tabla no caduca. Ejemplo: |
field_delimiter |
El separador de los campos de un archivo CSV. Se aplica a los datos CSV. |
format |
El formato de los datos externos.
Los valores admitidos para
Los valores admitidos para
El valor |
hive_partition_uri_prefix |
Prefijo común de todos los URIs de origen antes de que empiece la codificación de la clave de partición. Solo se aplica a las tablas externas con particiones de Hive. Se aplica a los datos de Avro, CSV, JSON, Parquet y ORC. Ejemplo: |
file_set_spec_type |
Especifica cómo interpretar los URIs de origen de las tareas de carga y las tablas externas. Entre los valores admitidos se incluyen los siguientes:
Por ejemplo, si tiene un URI de origen |
ignore_unknown_values |
Si es Se aplica a los datos CSV y JSON. |
json_extension |
En el caso de los datos JSON, indica un formato de intercambio JSON concreto. Si no se especifica, BigQuery lee los datos como registros JSON genéricos. Los valores admitidos son los siguientes: |
max_bad_records |
Número máximo de registros incorrectos que se deben ignorar al leer los datos. Se aplica a los datos CSV, JSON y de Hojas de cálculo de Google. |
max_staleness |
Se aplica a las tablas de BigLake y a las tablas de objetos. Especifica si las operaciones de la tabla usan metadatos almacenados en caché y cuánto tiempo deben haber pasado desde la última actualización de los metadatos almacenados en caché para que la operación los pueda usar. Para inhabilitar el almacenamiento en caché de metadatos, especifica 0. Este es el valor predeterminado. Para habilitar el almacenamiento en caché de metadatos, especifica un valor de literal de intervalo entre 30 minutos y 7 días. Por ejemplo, especifica |
null_marker |
Cadena que representa los valores de Se aplica a los datos CSV. |
null_markers |
Lista de cadenas que representan valores Esta opción no se puede usar con la opción Se aplica a los datos CSV. |
object_metadata |
Solo es obligatorio cuando se crea una tabla de objetos. Asigna el valor |
preserve_ascii_control_characters |
Si Se aplica a los datos CSV. |
projection_fields |
Lista de propiedades de la entidad que se van a cargar. Se aplica a los datos de Datastore. |
quote |
Cadena que se usa para poner entre comillas las secciones de datos de un archivo CSV. Si sus datos contienen caracteres de salto de línea entre comillas, también debe asignar el valor Se aplica a los datos CSV. |
reference_file_schema_uri |
Archivo de referencia proporcionado por el usuario con el esquema de la tabla. Se aplica a los datos de Parquet, ORC y AVRO. Ejemplo: |
require_hive_partition_filter |
Si Se aplica a los datos de Avro, CSV, JSON, Parquet y ORC. |
sheet_range |
Intervalo de una hoja de cálculo de Google del que se va a obtener información. Se aplica a los datos de Hojas de cálculo de Google. Ejemplo: |
skip_leading_rows |
Número de filas de la parte superior de un archivo que se deben omitir al leer los datos. Se aplica a los datos de archivos CSV y de Hojas de cálculo de Google. |
source_column_match |
Controla la estrategia utilizada para asociar las columnas cargadas al esquema. Si no se especifica ningún valor, el valor predeterminado se basa en cómo se proporciona el esquema. Si la detección automática está habilitada, el comportamiento predeterminado es hacer coincidir las columnas por nombre. De lo contrario, las columnas se emparejan por posición de forma predeterminada. Esto se hace para mantener la retrocompatibilidad. Entre los valores admitidos se incluyen los siguientes:
|
tags |
<ARRAY<STRUCT<STRING, STRING>>>
Es un array de etiquetas de gestión de identidades y accesos de la tabla, expresado como pares clave-valor. La clave debe ser el nombre de la clave con espacio de nombres y el valor debe ser el nombre abreviado. |
time_zone |
Zona horaria predeterminada que se aplicará al analizar valores de marca de tiempo que no tengan una zona horaria específica. Consulta los nombres de zonas horarias válidos. Si no se incluye este valor, las marcas de tiempo sin una zona horaria específica se analizan con la zona horaria predeterminada UTC. Se aplica a los datos CSV y JSON. |
date_format |
Elementos de formato
que definen cómo se les da formato a los valores DATE en los archivos de entrada (por ejemplo, Si este valor está presente, este formato es el único compatible con DATE. La detección automática de esquemas también determinará el tipo de columna DATE en función de este formato en lugar del formato actual. Si no se incluye este valor, el campo DATE se analiza con los formatos predeterminados. Se aplica a los datos CSV y JSON. |
datetime_format |
Elementos de formato
que definen cómo se formatean los valores DATETIME en los archivos de entrada
(por ejemplo, Si este valor está presente, este formato es el único compatible con DATETIME. La detección automática de esquemas también determinará el tipo de columna DATETIME en función de este formato en lugar del formato actual. Si no se incluye este valor, el campo DATETIME se analiza con los formatos predeterminados. Se aplica a los datos CSV y JSON. |
time_format |
Elementos de formato
que definen cómo se formatean los valores TIME en los archivos de entrada (por
ejemplo, Si este valor está presente, este formato es el único compatible con TIME. La detección automática de esquemas también decidirá el tipo de columna TIME en función de este formato en lugar del formato actual. Si no se incluye este valor, el campo TIME se analiza con los formatos predeterminados. Se aplica a los datos CSV y JSON. |
timestamp_format |
Elementos de formato
que definen cómo se formatean los valores TIMESTAMP en los archivos de entrada
(por ejemplo, Si este valor está presente, este formato es el único compatible con TIMESTAMP. La detección automática de esquemas también determinará el tipo de columna TIMESTAMP en función de este formato en lugar del formato actual. Si no se incluye este valor, el campo TIMESTAMP se analiza con los formatos predeterminados. Se aplica a los datos CSV y JSON. |
uris |
En el caso de las tablas externas, incluidas las tablas de objetos, que no sean tablas de Bigtable:
Matriz de URIs totalmente cualificados de las ubicaciones de datos externos.
Cada URI puede contener un
asterisco ( En los siguientes ejemplos se muestran valores de
En el caso de las tablas de Bigtable:
El URI que identifica la tabla de Bigtable que se va a usar como fuente de datos. Solo puedes especificar un URI de Bigtable. Ejemplo:
Para obtener más información sobre cómo crear un URI de Bigtable, consulta Obtener el URI de Bigtable. |
Ámbito y sintaxis
Las consultas en esta vista deben incluir un conjunto de datos o un calificador de región. En el caso de las consultas con un calificador de conjunto de datos, debes tener permisos para el conjunto de datos. En el caso de las consultas con un calificador de región, debes tener permisos para el proyecto. Para obtener más información, consulta la sección Sintaxis. En la siguiente tabla se explican los ámbitos de región y de recurso de esta vista:
Nombre de la vista | Ámbito de los recursos | Ámbito de la región |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.TABLE_OPTIONS |
Nivel de proyecto | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.TABLE_OPTIONS |
Nivel del conjunto de datos | Ubicación del conjunto de datos |
-
Opcional:
PROJECT_ID
: el ID de tu Google Cloud proyecto. Si no se especifica, se usa el proyecto predeterminado. -
REGION
: cualquier nombre de región del conjunto de datos. Por ejemplo,`region-us`
. -
DATASET_ID
: el ID de tu conjunto de datos. Para obtener más información, consulta Calificador de conjunto de datos.
Ejemplo
Ejemplo 1:
En el siguiente ejemplo se obtienen los tiempos de caducidad de tabla predeterminados de todas las tablas de mydataset
en tu proyecto predeterminado (myproject
) consultando la vista INFORMATION_SCHEMA.TABLE_OPTIONS
.
Para ejecutar la consulta en un proyecto que no sea el predeterminado, añade el ID del proyecto al conjunto de datos con el siguiente formato:
`project_id`.dataset.INFORMATION_SCHEMA.view
;
por ejemplo, `myproject`.mydataset.INFORMATION_SCHEMA.TABLE_OPTIONS
.
SELECT * FROM mydataset.INFORMATION_SCHEMA.TABLE_OPTIONS WHERE option_name = 'expiration_timestamp';
El resultado es similar al siguiente:
+----------------+---------------+------------+----------------------+-------------+--------------------------------------+ | table_catalog | table_schema | table_name | option_name | option_type | option_value | +----------------+---------------+------------+----------------------+-------------+--------------------------------------+ | myproject | mydataset | mytable1 | expiration_timestamp | TIMESTAMP | TIMESTAMP "2020-01-16T21:12:28.000Z" | | myproject | mydataset | mytable2 | expiration_timestamp | TIMESTAMP | TIMESTAMP "2021-01-01T21:12:28.000Z" | +----------------+---------------+------------+----------------------+-------------+--------------------------------------+
Ejemplo 2:
En el siguiente ejemplo se recuperan los metadatos de todas las tablas de mydataset
que contienen datos de prueba. La consulta usa los valores de la opción description
para buscar tablas que contengan "test" en cualquier parte de la descripción. mydataset
está en tu proyecto predeterminado: myproject
.
Para ejecutar la consulta en un proyecto que no sea el predeterminado, añade el ID del proyecto al conjunto de datos con el siguiente formato:
`project_id`.dataset.INFORMATION_SCHEMA.view
.
Por ejemplo:
`myproject`.mydataset.INFORMATION_SCHEMA.TABLE_OPTIONS
.
SELECT * FROM mydataset.INFORMATION_SCHEMA.TABLE_OPTIONS WHERE option_name = 'description' AND option_value LIKE '%test%';
El resultado es similar al siguiente:
+----------------+---------------+------------+-------------+-------------+--------------+ | table_catalog | table_schema | table_name | option_name | option_type | option_value | +----------------+---------------+------------+-------------+-------------+--------------+ | myproject | mydataset | mytable1 | description | STRING | "test data" | | myproject | mydataset | mytable2 | description | STRING | "test data" | +----------------+---------------+------------+-------------+-------------+--------------+