Visualização de TABLE_OPTIONS
A visualização INFORMATION_SCHEMA.TABLE_OPTIONS
contém uma linha para cada opção,
para cada tabela ou visualização em um conjunto de dados. As visualizações TABLES
e TABLE_OPTIONS
também contêm informações de alto nível sobre visualizações.
Para informações detalhadas, consulte a visualização INFORMATION_SCHEMA.VIEWS
.
Permissões necessárias
Para consultar a visualização INFORMATION_SCHEMA.TABLE_OPTIONS
, você precisa das seguintes
permissões de gerenciamento de identidade e acesso (IAM, na sigla em inglês):
bigquery.tables.get
bigquery.tables.list
bigquery.routines.get
bigquery.routines.list
Cada um dos seguintes papéis predefinidos do IAM inclui as permissões anteriores:
roles/bigquery.admin
roles/bigquery.dataViewer
roles/bigquery.metadataViewer
Para mais informações sobre as permissões do BigQuery, consulte Controle de acesso com o IAM.
Schema
Os resultados das consultas na visualização INFORMATION_SCHEMA.TABLE_OPTIONS
contêm uma linha para cada opção, para cada tabela ou visualização do conjunto de dados. Para informações detalhadas sobre visualizações, consulte a visualização INFORMATION_SCHEMA.VIEWS
.
A visualização INFORMATION_SCHEMA.TABLE_OPTIONS
tem o seguinte esquema:
Nome da coluna | Tipo de dados | Valor |
---|---|---|
TABLE_CATALOG |
STRING |
O ID do projeto que contém o conjunto de dados |
TABLE_SCHEMA |
STRING |
O nome do conjunto de dados que contém a tabela ou visualização, também conhecido como datasetId |
TABLE_NAME |
STRING |
O nome da tabela ou visualização, também conhecido como tableId |
OPTION_NAME |
STRING |
Um dos valores de nome na tabela opções. |
OPTION_TYPE |
STRING |
Um dos valores de tipo de dados na tabela de opções. |
OPTION_VALUE |
STRING |
Uma das opções de valor na tabela de opções. |
Tabela de opções
OPTION_NAME |
OPTION_TYPE |
OPTION_VALUE |
---|---|---|
partition_expiration_days |
FLOAT64 |
A vida útil padrão, em dias, de todas as partições em uma tabela particionada |
expiration_timestamp |
TIMESTAMP |
A hora em que esta tabela expira |
kms_key_name |
STRING |
O nome da chave do Cloud KMS usada para criptografar a tabela |
friendly_name |
STRING |
O nome descritivo da tabela. |
description |
STRING |
Uma descrição da tabela |
labels |
ARRAY<STRUCT<STRING, STRING>> |
Uma matriz de STRUCT s que representa as identificações na tabela |
require_partition_filter |
BOOL |
Se as consultas na tabela exigem um filtro de partição |
enable_refresh |
BOOL |
Se a atualização automática está ativada para uma visualização materializada. |
refresh_interval_minutes |
FLOAT64 |
Com que frequência uma visualização materializada é atualizada |
Em tabelas externas, as seguintes opções podem ser usadas:
Opções | |
---|---|
allow_jagged_rows |
Se Aplica-se a dados CSV. |
allow_quoted_newlines |
Se Aplica-se a dados CSV. |
bigtable_options |
Obrigatório apenas ao criar uma tabela externa do Bigtable. Especifica o esquema da tabela externa do Bigtable no formato JSON. Para conferir uma lista de
opções de definição de tabela do Bigtable, consulte |
column_name_character_map |
Define o escopo dos caracteres de nome de coluna compatíveis e o comportamento de processamento desses caracteres. Os valores aceitos são:
|
compression |
O tipo de compactação da fonte de dados. Os valores aceitos são:
Aplica-se a dados CSV e JSON. |
decimal_target_types |
Determina como converter um tipo Exemplo: |
description |
Uma descrição da tabela. |
enable_list_inference |
Se Aplicável a dados Parquet. |
enable_logical_types |
Se Aplica-se a dados Avro. |
encoding |
A codificação de caracteres dos dados. Os valores aceitos incluem:
Aplica-se a dados CSV. |
enum_as_string |
Se Aplicável a dados Parquet. |
expiration_timestamp |
A hora em que esta tabela expira. Se não for especificado, a tabela não expirará. Exemplo: |
field_delimiter |
O separador de campos em um arquivo CSV. Aplica-se a dados CSV. |
format |
O formato dos dados externos.
Os valores compatíveis para
Os valores compatíveis para O valor |
hive_partition_uri_prefix |
Um prefixo comum para todos os URIs de origem antes do início da codificação da chave de partição. Aplica-se apenas a tabelas externas particionadas pelo Hive. Aplica-se aos dados Avro, CSV, JSON, Parquet e ORC. Exemplo: |
file_set_spec_type |
Especifica como interpretar URIs de origem para jobs de carregamento e tabelas externas. Em pré-lançamento. Os valores aceitos são:
Por exemplo, se você tiver um URI de origem de |
ignore_unknown_values |
Se for Aplica-se a dados CSV e JSON. |
json_extension |
Para dados JSON, indica um determinado formato de intercâmbio JSON. Se não for especificado, o BigQuery lerá os dados como registros JSON genéricos. Os valores aceitos são: |
max_bad_records |
O número máximo de registros corrompidos a serem ignorados durante a leitura dos dados. Aplica-se a: dados CSV, JSON e Planilhas Google. |
max_staleness |
Aplicável a tabelas do BigLake e tabelas de objetos. Especifica se os metadados em cache são usados pelas operações na tabela e quando eles precisam ser atualizados para que a operação possa usá-los. Para desativar o armazenamento em cache de metadados, especifique 0. Esse é o padrão. Para ativar o armazenamento em cache de metadados, especifique um valor de
literal de intervalo
entre 30 minutos e 7 dias. Por exemplo, especifique
|
null_marker |
A string que representa os valores Aplica-se a dados CSV. |
object_metadata |
Obrigatório apenas ao criar uma tabela de objetos. Defina o valor dessa opção como |
preserve_ascii_control_characters |
Se Aplica-se a dados CSV. |
projection_fields |
Uma lista de propriedades da entidade a serem carregadas. Aplica-se aos dados do Datastore. |
quote |
A string usada para citar seções de dados em um arquivo CSV. Se os dados
contiverem caracteres de nova linha entre aspas, defina também a
propriedade Aplica-se a dados CSV. |
reference_file_schema_uri |
Arquivo de referência fornecido pelo usuário com o esquema da tabela. Aplicável aos dados Parquet/ORC/AVRO. Exemplo: |
require_hive_partition_filter |
Se Aplica-se aos dados Avro, CSV, JSON, Parquet e ORC. |
sheet_range |
Intervalo de uma planilha do Planilhas Google a ser consultada. Aplicável aos dados do Planilhas Google. Exemplo: |
skip_leading_rows |
O número de linhas na parte superior de um arquivo a ser ignorado na leitura dos dados. Aplicável aos dados CSV e Planilhas Google. |
uris |
Para tabelas externas, incluindo de objetos, que não sejam do Bigtable:
Uma matriz de URIs totalmente qualificados para os locais de dados externos.
Cada URI pode conter um
caractere curinga
de asterisco ( Os exemplos a seguir mostram valores
Para tabelas do Bigtable:
O URI que identifica a tabela do Bigtable a ser usada como fonte de dados. Só é possível especificar um URI do Bigtable. Exemplo:
Para mais informações sobre como criar um URI do Bigtable, consulte Como recuperar o URI do Bigtable. |
Escopo e sintaxe
As consultas nessa visualização precisam incluir um conjunto de dados ou um qualificador de região. Para consultas com um qualificador de conjunto de dados, é preciso ter permissões para o conjunto de dados. Para consultas com um qualificador de região, é preciso ter permissões para o projeto. Para mais informações, consulte Sintaxe. A tabela a seguir explica os escopos de região e recurso dessa visualização:
Nome da visualização | Escopo do recurso | Escopo da região |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.TABLE_OPTIONS |
Nível do projeto | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.TABLE_OPTIONS |
Nível do conjunto de dados | Local do conjunto de dados |
- Opcional:
PROJECT_ID
: o ID do seu projeto do Google Cloud. Se não for especificado, o projeto padrão será usado. REGION
: qualquer nome da região do conjunto de dados. Por exemplo,region-us
.DATASET_ID
: ID do conjunto de dados. Para mais informações, consulte Qualificador de conjunto de dados.
Exemplo
Exemplo 1:
O exemplo a seguir recupera os prazos de validade da tabela padrão para todas as tabelas em mydataset
no seu projeto padrão (myproject
) consultando a visualização INFORMATION_SCHEMA.TABLE_OPTIONS
.
Para executar a consulta em um projeto diferente do padrão, adicione o ID do projeto ao conjunto de dados no seguinte formato: `project_id`.dataset.INFORMATION_SCHEMA.view
; por exemplo, `myproject`.mydataset.INFORMATION_SCHEMA.TABLE_OPTIONS
.
SELECT * FROM mydataset.INFORMATION_SCHEMA.TABLE_OPTIONS WHERE option_name = 'expiration_timestamp';
O resultado será semelhante ao seguinte:
+----------------+---------------+------------+----------------------+-------------+--------------------------------------+ | 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" | +----------------+---------------+------------+----------------------+-------------+--------------------------------------+
Exemplo 2:
O exemplo a seguir recupera os metadados sobre todas as tabelas em mydataset
que contêm dados de teste. A consulta usa os valores da opção description
para encontrar tabelas que contenham "teste" em qualquer parte da descrição. mydataset
está no projeto padrão (myproject
).
Para executar a consulta em um projeto diferente do projeto padrão, adicione o ID do projeto ao conjunto de dados no seguinte formato: `project_id`.dataset.INFORMATION_SCHEMA.view
(por exemplo, `myproject`.mydataset.INFORMATION_SCHEMA.TABLE_OPTIONS
).
SELECT * FROM mydataset.INFORMATION_SCHEMA.TABLE_OPTIONS WHERE option_name = 'description' AND option_value LIKE '%test%';
O resultado será semelhante ao seguinte:
+----------------+---------------+------------+-------------+-------------+--------------+ | 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" | +----------------+---------------+------------+-------------+-------------+--------------+