Ansicht TABLE_OPTIONS
Die Ansicht INFORMATION_SCHEMA.TABLE_OPTIONS
enthält eine Zeile für jede Option und für jede Tabelle oder Ansicht in einem Dataset. Die Ansichten TABLES
und TABLE_OPTIONS
enthalten auch allgemeine Informationen zu Ansichten.
Detaillierte Informationen erhalten Sie, wenn Sie die Ansicht INFORMATION_SCHEMA.VIEWS
abfragen.
Erforderliche Berechtigungen
Zum Abfragen der INFORMATION_SCHEMA.TABLE_OPTIONS
-Ansicht benötigen Sie folgende IAM-Berechtigungen (Identity and Access Management):
bigquery.tables.get
bigquery.tables.list
bigquery.routines.get
bigquery.routines.list
Die folgenden vordefinierten IAM-Rollen enthalten jeweils die vorherigen Berechtigungen:
roles/bigquery.admin
roles/bigquery.dataViewer
roles/bigquery.metadataViewer
Weitere Informationen zu BigQuery-Berechtigungen finden Sie unter Zugriffssteuerung mit IAM.
Schema
Wenn Sie die Ansicht INFORMATION_SCHEMA.TABLE_OPTIONS
abfragen, wird in den Abfrageergebnissen jede Tabelle oder Ansicht eines Datasets in einer eigenen Zeile für jede Option dargestellt. Detaillierte Informationen zu Ansichten erhalten Sie, wenn Sie stattdessen die Ansicht INFORMATION_SCHEMA.VIEWS
abfragen.
Die Ansicht INFORMATION_SCHEMA.TABLE_OPTIONS
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 oder Ansicht enthält (auch als datasetId bezeichnet) |
TABLE_NAME |
STRING |
Der Name der Tabelle oder Ansicht (auch als tableId bezeichnet) |
OPTION_NAME |
STRING |
Ein Namenswert der Optionstabelle |
OPTION_TYPE |
STRING |
Ein Datentypwert der Optionstabelle |
OPTION_VALUE |
STRING |
Eine Wertoption der Optionstabelle |
Optionstabelle
OPTION_NAME |
OPTION_TYPE |
OPTION_VALUE |
---|---|---|
partition_expiration_days |
FLOAT64 |
Die Standardlebensdauer aller Partitionen in einer partitionierten Tabelle in Tagen |
expiration_timestamp |
TIMESTAMP |
Die Zeit, zu der diese Tabelle abläuft |
kms_key_name |
STRING |
Der Name des Cloud KMS-Schlüssels zum Verschlüsseln der Tabelle |
friendly_name |
STRING |
Der beschreibende Name der Tabelle |
description |
STRING |
Eine Beschreibung der Tabelle |
labels |
ARRAY<STRUCT<STRING, STRING>> |
Ein STRUCT -Array, das die Labels der Tabelle darstellt |
require_partition_filter |
BOOL |
Gibt an, ob Abfragen über die Tabelle einen Partitionsfilter erfordern |
enable_refresh |
BOOL |
Gibt an, ob die automatische Aktualisierung für eine materialisierte Ansicht aktiviert ist |
refresh_interval_minutes |
FLOAT64 |
Gibt an, wie häufig eine materialisierte Ansicht aktualisiert wird |
Für externe Tabellen sind die folgenden Optionen möglich:
Optionen | |
---|---|
allow_jagged_rows |
Bei Gilt für CSV-Daten. |
allow_quoted_newlines |
Bei Gilt für CSV-Daten. |
bigtable_options |
Nur erforderlich, wenn Sie eine externe Bigtable-Tabelle erstellen. Gibt das Schema der externen Bigtable-Tabelle im JSON-Format an. Eine Liste der Optionen für Bigtable-Tabellendefinitionen finden Sie in der REST API-Referenz unter |
column_name_character_map |
Definiert den Umfang der unterstützten Spaltennamen für Zeichen und das Verhalten von nicht unterstützten Zeichen. Unterstützte Werte sind:
|
compression |
Komprimierungstyp der Datenquelle. Diese Werte werden unterstützt:
Gilt für CSV- und JSON-Daten. |
decimal_target_types |
Bestimmt, wie ein Beispiel: |
description |
Eine Beschreibung dieser Tabelle. |
enable_list_inference |
Verwenden Sie bei Gilt für Parquet-Daten. |
enable_logical_types |
Bei Gilt für Avro-Daten. |
encoding |
Die Zeichencodierung der Daten. Unterstützte Werte sind:
Gilt für CSV-Daten. |
enum_as_string |
Wenn Gilt für Parquet-Daten. |
expiration_timestamp |
Die Zeit, zu der diese Tabelle abläuft. Wenn keine Angabe erfolgt, läuft die Tabelle nicht ab. Beispiel: |
field_delimiter |
Das Trennzeichen für Felder in einer CSV-Datei. Gilt für CSV-Daten. |
format |
Das Format der externen Daten.
Unterstützte Werte für
Unterstützte Werte für
Der Wert |
hive_partition_uri_prefix |
Ein gemeinsames Präfix für alle Quell-URIs, bevor die Codierung des Partitionierungsschlüssels beginnt. Gilt nur für mit Hive partitionierte Tabellen. Gilt für Avro-, CSV-, JSON-, Parquet- und ORC-Daten. Beispiel: |
file_set_spec_type |
Gibt an, wie Quell-URIs für Ladejobs und externe Tabellen interpretiert werden. In der Vorschau. Unterstützte Werte sind:
Wenn Sie beispielsweise den Quell-URI |
ignore_unknown_values |
Bei Gilt für CSV- und JSON-Daten. |
json_extension |
Gibt für JSON-Daten ein bestimmtes JSON-Austauschformat an. Wenn nicht angegeben, liest BigQuery die Daten als generische JSON-Einträge. Diese Werte werden unterstützt: |
max_bad_records |
Die maximale Anzahl fehlerhafter Datensätze, die beim Lesen der Daten ignoriert werden. Gilt für CSV-, JSON- und Google Sheets-Daten. |
max_staleness |
Gilt für BigLake-Tabellen und Objekttabellen. Gibt an, ob im Cache gespeicherte Metadaten von Vorgängen für die Tabelle verwendet werden und wie aktuell die im Cache gespeicherten Metadaten sein müssen, damit der Vorgang sie verwenden kann. Geben Sie 0 an, um das Caching von Metadaten zu deaktivieren. Das ist die Standardeinstellung. Geben Sie zum Aktivieren des Metadaten-Cachings für das Intervallliteral einen Wert zwischen 30 Minuten und 7 Tagen an. Beispiel: Geben Sie |
null_marker |
Der String, der Gilt für CSV-Daten. |
object_metadata |
Nur erforderlich, wenn Sie eine Objekttabelle erstellen. Legen Sie den Wert dieser Option beim Erstellen einer Objekttabelle auf |
preserve_ascii_control_characters |
Bei Gilt für CSV-Daten. |
projection_fields |
Eine Liste der zu ladenden Entitätsattribute. Gilt für Datastore-Daten. |
quote |
Der String, der zum Kennzeichnen von Datenabschnitten in einer CSV-Datei verwendet wird. Wenn Ihre Daten Zeilenumbruchzeichen in Anführungszeichen enthalten, setzen Sie auch das Attribut Gilt für CSV-Daten. |
reference_file_schema_uri |
Vom Nutzer bereitgestellte Referenzdatei mit dem Tabellenschema. Gilt für Parquet-/ORC-/AVRO-Daten. Beispiel: |
require_hive_partition_filter |
Bei Gilt für Avro-, CSV-, JSON-, Parquet- und ORC-Daten. |
sheet_range |
Bereich einer Google Sheets-Tabelle, aus der abgefragt werden soll. Gilt für Google Sheets-Daten. Beispiel: |
skip_leading_rows |
Die Anzahl der Zeilen am Anfang einer Datei, die beim Lesen der Daten übersprungen werden sollen. Gilt für CSV- und Google Sheets-Daten. |
uris |
Für externe Tabellen, einschließlich Objekttabellen, die keine Bigtable-Tabellen sind:
Ein Array von voll qualifizierten URIs für die externen Datenspeicherorte.
Jeder URI kann ein Sternchen ( Die folgenden Beispiele zeigen gültige
Für Bigtable-Tabellen:
Der URI zur Identifizierung der Bigtable-Tabelle, die als Datenquelle verwendet werden soll. Sie können nur einen Bigtable-URI angeben. Beispiel: Weitere Informationen zum Erstellen eines Bigtable-URI finden Sie unter Bigtable-URI abrufen. |
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.TABLE_OPTIONS |
auf Projektebene | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.TABLE_OPTIONS |
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
Beispiel 1:
Im folgenden Beispiel werden die Standardablaufzeiten für alle Tabellen in mydataset
in Ihrem Standardprojekt myproject
durch Abfrage der Ansicht INFORMATION_SCHEMA.TABLE_OPTIONS
abgerufen.
Dem Dataset fügen Sie die Projekt-ID im folgenden Format hinzu, um die Abfrage für ein anderes Projekt als Ihr Standardprojekt auszuführen: `project_id`.dataset.INFORMATION_SCHEMA.view
; beispielsweise `myproject`.mydataset.INFORMATION_SCHEMA.TABLE_OPTIONS
.
SELECT * FROM mydataset.INFORMATION_SCHEMA.TABLE_OPTIONS WHERE option_name = 'expiration_timestamp';
Das Ergebnis sieht etwa so aus:
+----------------+---------------+------------+----------------------+-------------+--------------------------------------+ | 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" | +----------------+---------------+------------+----------------------+-------------+--------------------------------------+
Beispiel 2:
Im folgenden Beispiel werden Metadaten von allen Tabellen in mydataset
abgerufen, die Testdaten enthalten. Für die Abfrage werden zur Ermittlung von Tabellen, die den Begriff "test" in der Beschreibung enthalten, die Werte der Option description
verwendet. mydataset
befindet sich in Ihrem Standardprojekt myproject
.
Wenn Sie die Abfrage für ein anderes Projekt als Ihr Standardprojekt ausführen möchten, fügen Sie dem Dataset die Projekt-ID im folgenden Format hinzu: `project_id`.dataset.INFORMATION_SCHEMA.view
; beispielsweise so: `myproject`.mydataset.INFORMATION_SCHEMA.TABLE_OPTIONS
.
SELECT * FROM mydataset.INFORMATION_SCHEMA.TABLE_OPTIONS WHERE option_name = 'description' AND option_value LIKE '%test%';
Das Ergebnis sieht etwa so aus:
+----------------+---------------+------------+-------------+-------------+--------------+ | 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" | +----------------+---------------+------------+-------------+-------------+--------------+