Vista COLUMN_FIELD_PATHS
A vista INFORMATION_SCHEMA.COLUMN_FIELD_PATHS
contém uma linha para cada coluna aninhada numa coluna RECORD
(ou STRUCT
).
Autorizações necessárias
Para consultar a vista INFORMATION_SCHEMA.COLUMN_FIELD_PATHS
, precisa das seguintes autorizações de gestão de identidade e de acesso (IAM):
bigquery.tables.get
bigquery.tables.list
Cada uma das seguintes funções de IAM predefinidas inclui as autorizações anteriores:
roles/bigquery.admin
roles/bigquery.dataViewer
roles/bigquery.dataEditor
roles/bigquery.metadataViewer
Para mais informações sobre as autorizações do BigQuery, consulte o artigo Controlo de acesso com a IAM.
Esquema
Os resultados da consulta contêm uma linha para cada coluna aninhada numa coluna RECORD
(ou STRUCT
).
Quando consulta a vista INFORMATION_SCHEMA.COLUMN_FIELD_PATHS
, os resultados da consulta contêm uma linha para cada coluna aninhada numa coluna RECORD
(ou STRUCT
).
A vista INFORMATION_SCHEMA.COLUMN_FIELD_PATHS
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, também conhecido como
datasetId |
TABLE_NAME |
STRING |
O nome da tabela ou da vista também é conhecido como tableId |
COLUMN_NAME |
STRING |
O nome da coluna |
FIELD_PATH |
STRING |
O caminho para uma coluna aninhada numa coluna `RECORD` ou `STRUCT` |
DATA_TYPE |
STRING |
O tipo de dados do GoogleSQL da coluna |
DESCRIPTION |
STRING |
A descrição da coluna |
COLLATION_NAME |
STRING |
O nome da especificação de ordenação
se existir; caso contrário, NULL Se for transmitido um campo STRING , ARRAY<STRING> ou
STRING num STRUCT , a
especificação de ordenação é devolvida se existir; caso contrário,
NULL é devolvido
|
ROUNDING_MODE |
STRING |
O modo de arredondamento usado quando aplica a precisão e a escala aos valores NUMERIC ou BIGNUMERIC parametrizados; caso contrário, o valor é NULL
|
POLICY_TAGS |
ARRAY<STRING> |
A lista de etiquetas de políticas anexadas à coluna |
Âmbito e sintaxe
As consultas desta vista têm de incluir um conjunto de dados ou um qualificador de região. Para consultas com um qualificador de conjunto de dados, tem de ter autorizações para o conjunto de dados. Para consultas com um qualificador de região, tem de ter autorizações para o projeto. Para mais informações, consulte a secção Sintaxe. A tabela seguinte explica os âmbitos da região e dos recursos para esta vista:
Nome da visualização de propriedade | Âmbito do recurso | Âmbito da região |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.COLUMN_FIELD_PATHS |
Nível do projeto | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.COLUMN_FIELD_PATHS |
Nível do conjunto de dados | Localização do conjunto de dados |
-
Opcional:
PROJECT_ID
: o ID do seu projeto do Trusted Cloud Google Cloud. Se não for especificado, é usado o projeto predefinido. -
REGION
: qualquer nome da região do conjunto de dados. Por exemplo,`region-us`
. -
DATASET_ID
: o ID do seu conjunto de dados. Para mais informações, consulte o artigo Qualificador de conjunto de dados.
Exemplo
O exemplo seguinte obtém metadados da vista INFORMATION_SCHEMA.COLUMN_FIELD_PATHS
para a tabela commits
no conjunto de dados github_repos
.
Este conjunto de dados faz parte do programa de conjuntos de dados públicos do BigQuery.
Uma vez que a tabela que está a consultar se encontra noutro projeto, o projeto bigquery-public-data
, adiciona o ID do projeto ao conjunto de dados no seguinte formato: `project_id`.dataset.INFORMATION_SCHEMA.view
; por exemplo, `bigquery-public-data`.github_repos.INFORMATION_SCHEMA.COLUMN_FIELD_PATHS
.
A tabela commits
contém as seguintes colunas aninhadas e aninhadas e repetidas:
author
: colunaRECORD
aninhadacommitter
: colunaRECORD
aninhadatrailer
: colunaRECORD
aninhada e repetidadifference
: colunaRECORD
aninhada e repetida
Para ver metadados sobre as colunas author
e difference
, execute a seguinte consulta.
INFORMATION_SCHEMA
SELECT * FROM `bigquery-public-data`.github_repos.INFORMATION_SCHEMA.COLUMN_FIELD_PATHS WHERE table_name = 'commits' AND (column_name = 'author' OR column_name = 'difference');
O resultado é semelhante ao seguinte. Para facilitar a leitura, algumas colunas são excluídas do resultado.
+------------+-------------+---------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+-------------+-------------+ | table_name | column_name | field_path | data_type | description | policy_tags | +------------+-------------+---------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+-------------+-------------+ | commits | author | author | STRUCT<name STRING, email STRING, time_sec INT64, tz_offset INT64, date TIMESTAMP> | NULL | 0 rows | | commits | author | author.name | STRING | NULL | 0 rows | | commits | author | author.email | STRING | NULL | 0 rows | | commits | author | author.time_sec | INT64 | NULL | 0 rows | | commits | author | author.tz_offset | INT64 | NULL | 0 rows | | commits | author | author.date | TIMESTAMP | NULL | 0 rows | | commits | difference | difference | ARRAY<STRUCT<old_mode INT64, new_mode INT64, old_path STRING, new_path STRING, old_sha1 STRING, new_sha1 STRING, old_repo STRING, new_repo STRING>> | NULL | 0 rows | | commits | difference | difference.old_mode | INT64 | NULL | 0 rows | | commits | difference | difference.new_mode | INT64 | NULL | 0 rows | | commits | difference | difference.old_path | STRING | NULL | 0 rows | | commits | difference | difference.new_path | STRING | NULL | 0 rows | | commits | difference | difference.old_sha1 | STRING | NULL | 0 rows | | commits | difference | difference.new_sha1 | STRING | NULL | 0 rows | | commits | difference | difference.old_repo | STRING | NULL | 0 rows | | commits | difference | difference.new_repo | STRING | NULL | 0 rows | +------------+-------------+---------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+-------------+-------------+