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.get
bigquery.tables.list
Die folgenden vordefinierten IAM-Rollen enthalten jeweils die vorherigen Berechtigungen:
roles/bigquery.admin
roles/bigquery.dataViewer
roles/bigquery.dataEditor
roles/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 .
|
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-Standort |
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 TypsRECORD
committer
: verschachtelte Spalte des TypsRECORD
trailer
: verschachtelte und wiederkehrende Spalte des TypsRECORD
difference
: 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 | +------------+-------------+---------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+-------------+ | commits | author | author | STRUCT<name STRING, email STRING, time_sec INT64, tz_offset INT64, date TIMESTAMP> | NULL | | commits | author | author.name | STRING | NULL | | commits | author | author.email | STRING | NULL | | commits | author | author.time_sec | INT64 | NULL | | commits | author | author.tz_offset | INT64 | NULL | | commits | author | author.date | TIMESTAMP | NULL | | 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 | | commits | difference | difference.old_mode | INT64 | NULL | | commits | difference | difference.new_mode | INT64 | NULL | | commits | difference | difference.old_path | STRING | NULL | | commits | difference | difference.new_path | STRING | NULL | | commits | difference | difference.old_sha1 | STRING | NULL | | commits | difference | difference.new_sha1 | STRING | NULL | | commits | difference | difference.old_repo | STRING | NULL | | commits | difference | difference.new_repo | STRING | NULL | +------------+-------------+---------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+-------------+