Ansicht COLUMN_FIELD_PATH
Die Ansicht INFORMATION_SCHEMA.COLUMN_FIELD_PATHS enthält eine Zeile für jede Spalte, die in einer Spalte des Typs RECORD (oder STRUCT) verschachtelt ist.
Erforderliche Berechtigungen
Zum Abfragen der INFORMATION_SCHEMA.COLUMN_FIELD_PATHS-Ansicht benötigen Sie folgende IAM-Berechtigungen (Identity and Access Management):
bigquery.tables.getbigquery.tables.list
Die folgenden vordefinierten IAM-Rollen enthalten jeweils die vorherigen Berechtigungen:
roles/bigquery.adminroles/bigquery.dataViewerroles/bigquery.dataEditorroles/bigquery.metadataViewer
Weitere Informationen zu BigQuery-Berechtigungen finden Sie unter Zugriffssteuerung mit IAM.
Schema
Im Ergebnis wird jede Spalte, die in einer Spalte des Typs RECORD (oder STRUCT) verschachtelt ist, in einer eigenen Zeile dargestellt.
Wenn Sie die Ansicht INFORMATION_SCHEMA.COLUMN_FIELD_PATHS abfragen, wird im Ergebnis jede Spalte, die in einer Spalte vom Typ RECORD (oder STRUCT) verschachtelt ist, in einer eigenen Zeile dargestellt.
Die Ansicht INFORMATION_SCHEMA.COLUMN_FIELD_PATHS hat das folgende Schema:
| Spaltenname | Datentyp | Wert |
|---|---|---|
TABLE_CATALOG |
STRING |
Die ID des Projekts, das das Dataset enthält |
TABLE_SCHEMA |
STRING |
Der Name des Datasets, das die Tabelle enthält (auch als datasetId bezeichnet) |
TABLE_NAME |
STRING |
Der Name der Tabelle oder Ansicht (auch als tableId bezeichnet) |
COLUMN_NAME |
STRING |
Der Name der Spalte |
FIELD_PATH |
STRING |
Der Pfad zu einer Spalte, die in einer Spalte vom Typ RECORD (oder STRUCT) verschachtelt ist |
DATA_TYPE |
STRING |
Der GoogleSQL-Datentyp der Spalte |
DESCRIPTION |
STRING |
Die Beschreibung der Spalte |
COLLATION_NAME |
STRING |
Der Name der Sortierspezifikation, falls vorhanden. Andernfalls NULL. Wenn ein STRING-, ARRAY<STRING>- oder STRING-Feld in einer STRUCT übergeben wird, wird die Sortierspezifikation zurückgegeben, sofern vorhanden. Andernfalls wird NULL zurückgegeben.
|
ROUNDING_MODE |
STRING |
Der Rundungsmodus, der beim Anwenden der Genauigkeit und Skalierung auf parametrisierte NUMERIC- oder BIGNUMERIC-Werte genutzt wird. Andernfalls ist der Wert NULL.
|
POLICY_TAGS |
ARRAY<STRING> |
Die Liste der Richtlinien-Tags, die an die Spalte angehängt sind |
Bereich und Syntax
Für Abfragen dieser Ansicht muss ein Dataset- oder Regions-Qualifier verwendet werden. Für Abfragen mit einem Dataset-Qualifier benötigen Sie Berechtigungen für das Dataset. Für Abfragen mit einem Regions-Qualifier müssen Sie Berechtigungen für das Projekt haben. Weitere Informationen finden Sie unter Syntax. In der folgenden Tabelle werden die Regions- und Ressourcenbereiche für diese Ansicht erläutert:
| Ansichtsname | Ressourcenbereich | Regionsbereich |
|---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.COLUMN_FIELD_PATHS |
auf Projektebene | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.COLUMN_FIELD_PATHS |
Dataset-Ebene | Dataset-Speicherort |
-
Optional:
PROJECT_ID: die ID Ihres Google Cloud -Projekts. Wenn keine Angabe erfolgt, wird das Standardprojekt verwendet. -
REGION: ist ein beliebiger Dataset-Regionsname. Beispiel:`region-us` -
DATASET_ID: die ID Ihres Datasets. Weitere Informationen finden Sie unter Dataset-Qualifier.
Beispiel
Im folgenden Beispiel werden aus der Ansicht INFORMATION_SCHEMA.COLUMN_FIELD_PATHS Metadaten für die Tabelle commits im Dataset github_repos abgerufen.
Dieses Dataset ist Teil des öffentlichen Dataset-Programms von BigQuery.
Da sich die abgefragte Tabelle in einem anderen Projekt (bigquery-public-data) befindet, fügen Sie dem Dataset die Projekt-ID im Format `project_id`.dataset.INFORMATION_SCHEMA.view hinzu, beispielsweise so: `bigquery-public-data`.github_repos.INFORMATION_SCHEMA.COLUMN_FIELD_PATHS.
Die Tabelle commits enthält die folgenden verschachtelten sowie verschachtelten und wiederkehrenden Spalten:
author: verschachtelte Spalte des TypsRECORDcommitter: verschachtelte Spalte des TypsRECORDtrailer: verschachtelte und wiederkehrende Spalte des TypsRECORDdifference: verschachtelte und wiederkehrende SpalteRECORD
Führen Sie die folgende Abfrage aus, um Metadaten zu den Spalten author und difference aufzurufen.
SELECT * FROM `bigquery-public-data`.github_repos.INFORMATION_SCHEMA.COLUMN_FIELD_PATHS WHERE table_name = 'commits' AND (column_name = 'author' OR column_name = 'difference');
Das Ergebnis sieht etwa so aus. Zur besseren Lesbarkeit werden einige Spalten aus dem Ergebnis ausgeschlossen.
+------------+-------------+---------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+-------------+-------------+ | 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 | +------------+-------------+---------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+-------------+-------------+