Metadaten von Datasets mit INFORMATION_SCHEMA abrufen

INFORMATION_SCHEMA enthält folgende Ansichten für Metadaten von Datasets:

  • SCHEMATA
  • SCHEMATA_OPTIONS

Erforderliche Berechtigungen

Für SCHEMATA und SCHEMATA_OPTIONS benötigen Sie die Berechtigung bigquery.datasets.get auf Projektebene.

Syntax

Für Abfragen dieser Ansichten sollte ein Regions-Qualifier verwendet werden.

Wenn Sie keinen Regions-Qualifier angeben, werden Metadaten vom multiregionalen Standort us abgerufen.

-- Returns metadata for datasets in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.SCHEMATA;

Ansicht SCHEMATA

Wenn Sie die Ansicht INFORMATION_SCHEMA.SCHEMATA abfragen, enthalten die Abfrageergebnisse eine Zeile für jedes Dataset in einem Projekt, auf das der aktuelle Nutzer Zugriff hat.

Die Ansicht INFORMATION_SCHEMA.SCHEMATA hat das folgende Schema:

Spaltenname Datentyp Wert
CATALOG_NAME STRING Der Name des Projekts, zu dem das Dataset gehört
SCHEMA_NAME STRING Der Name des Datasets, auch als datasetId bezeichnet
SCHEMA_OWNER STRING Der Wert ist immer NULL
CREATION_TIME TIMESTAMP Der Erstellungszeitpunkt des Datasets
LAST_MODIFIED_TIME TIMESTAMP Der Zeitpunkt der letzten Änderung des Datasets
LOCATION STRING Der geografische Standort des Datasets

Beispiele

Im folgenden Beispiel werden alle Spalten der Ansicht INFORMATION_SCHEMA.SCHEMATA mit Ausnahme von schema_owner abgerufen. Diese Spalte ist für eine zukünftige Verwendung reserviert. Die zurückgegebenen Metadaten gelten für alle Datasets im 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`.INFORMATION_SCHEMA.view; beispielsweise `myproject`.INFORMATION_SCHEMA.SCHEMATA.

So führen Sie die Abfrage aus:

Console

  1. Öffnen Sie in der Cloud Console die Seite „BigQuery“.

    Zur Seite "BigQuery"

  2. Geben Sie im Feld Abfrageeditor die folgende Standard-SQL-Abfrage ein. Für INFORMATION_SCHEMA muss die Standard-SQL-Syntax verwendet werden. In der Cloud Console ist Standard-SQL die Standardsyntax.

    SELECT
     * EXCEPT(schema_owner)
    FROM
     INFORMATION_SCHEMA.SCHEMATA
    
  3. Klicken Sie auf Ausführen.

bq

Verwenden Sie den Befehl query und geben Sie dabei die Standard-SQL-Syntax mit dem Flag --nouse_legacy_sql oder --use_legacy_sql=false an. Für Abfragen von INFORMATION_SCHEMA ist die Standard-SQL-Syntax erforderlich.

So führen Sie die Abfrage aus:

bq query --nouse_legacy_sql \
'SELECT
   * EXCEPT(schema_owner)
 FROM
   INFORMATION_SCHEMA.SCHEMATA'

Die Ergebnisse sollten so aussehen:

  +----------------+---------------+---------------------+---------------------+------------+
  |  catalog_name  |  schema_name  |    creation_time    | last_modified_time  |  location  |
  +----------------+---------------+---------------------+---------------------+------------+
  | myproject      | mydataset1    | 2018-11-07 19:50:24 | 2018-11-07 19:50:24 | US         |
  | myproject      | mydataset2    | 2018-07-16 04:24:22 | 2018-07-16 04:24:22 | US         |
  | myproject      | mydataset3    | 2018-02-07 21:08:45 | 2018-05-01 23:32:53 | US         |
  +----------------+---------------+---------------------+---------------------+------------+
  

Ansicht SCHEMATA_OPTIONS

Wenn Sie die Ansicht INFORMATION_SCHEMA.SCHEMATA_OPTIONS abfragen, wird im Ergebnis jede Option jedes Datasets in einem Projekt in einer eigenen Zeile dargestellt.

Die Ansicht INFORMATION_SCHEMA.SCHEMATA_OPTIONS hat das folgende Schema:

Spaltenname Datentyp Wert
CATALOG_NAME STRING Der Name des Projekts, zu dem das Dataset gehört
SCHEMA_NAME STRING Der Name des Datasets, auch als datasetId 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
default_table_expiration_days FLOAT64 Die Standardlebensdauer aller Tabellen im Dataset in Tagen
friendly_name STRING Der beschreibende Name des Datasets
description STRING Eine Beschreibung des Datasets
labels ARRAY<STRUCT<STRING, STRING>> Ein STRUCT-Array, das die Labels des Datasets darstellt

Beispiele

Beispiel 1:

Im folgenden Beispiel werden die Standardablaufzeiten für alle Datasets in Ihrem Standardprojekt (myproject) durch Abfragen der Ansicht INFORMATION_SCHEMA.SCHEMATA_OPTIONS abgerufen.

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`.INFORMATION_SCHEMA.view; beispielsweise `myproject`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS.

So führen Sie die Abfrage aus:

Console

  1. Öffnen Sie in der Cloud Console die Seite „BigQuery“.

    Zur Seite "BigQuery"

  2. Geben Sie im Feld Abfrageeditor die folgende Standard-SQL-Abfrage ein. Für INFORMATION_SCHEMA muss die Standard-SQL-Syntax verwendet werden. In der Cloud Console ist Standard-SQL die Standardsyntax.

    SELECT
     *
    FROM
     INFORMATION_SCHEMA.SCHEMATA_OPTIONS
    WHERE
     option_name="default_table_expiration_days"
    
  3. Klicken Sie auf Ausführen.

bq

Verwenden Sie den Befehl query und geben Sie dabei die Standard-SQL-Syntax mit dem Flag --nouse_legacy_sql oder --use_legacy_sql=false an. Für Abfragen von INFORMATION_SCHEMA ist die Standard-SQL-Syntax erforderlich.

So führen Sie die Abfrage aus:

bq query --nouse_legacy_sql \
'SELECT
   *
 FROM
   INFORMATION_SCHEMA.SCHEMATA_OPTIONS
 WHERE
   option_name="default_table_expiration_days"'

Die Ergebnisse sollten so aussehen:

  +----------------+---------------+-------------------------------+-------------+---------------------+
  |  catalog_name  |  schema_name  |          option_name          | option_type |    option_value     |
  +----------------+---------------+-------------------------------+-------------+---------------------+
  | myproject      | mydataset3    | default_table_expiration_days | FLOAT64     | 0.08333333333333333 |
  | myproject      | mydataset2    | default_table_expiration_days | FLOAT64     | 90.0                |
  | myproject      | mydataset1    | default_table_expiration_days | FLOAT64     | 30.0                |
  +----------------+---------------+-------------------------------+-------------+---------------------+
  

Beispiel 2:

Im folgenden Beispiel werden die Labels für alle Datasets in Ihrem Standardprojekt (myproject) durch Abfragen der Ansicht INFORMATION_SCHEMA.SCHEMATA_OPTIONS abgerufen.

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`.INFORMATION_SCHEMA.view; beispielsweise `myproject`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS.

So führen Sie die Abfrage aus:

Console

  1. Öffnen Sie in der Cloud Console die Seite „BigQuery“.

    Zur Seite "BigQuery"

  2. Geben Sie im Feld Abfrageeditor die folgende Standard-SQL-Abfrage ein. Für INFORMATION_SCHEMA muss die Standard-SQL-Syntax verwendet werden. In der Cloud Console ist Standard-SQL die Standardsyntax.

    SELECT
     *
    FROM
     INFORMATION_SCHEMA.SCHEMATA_OPTIONS
    WHERE
     option_name="labels"
    
  3. Klicken Sie auf Ausführen.

bq

Verwenden Sie den Befehl query und geben Sie dabei die Standard-SQL-Syntax mit dem Flag --nouse_legacy_sql oder --use_legacy_sql=false an. Für Abfragen von INFORMATION_SCHEMA ist die Standard-SQL-Syntax erforderlich.

So führen Sie die Abfrage aus:

bq query --nouse_legacy_sql \
'SELECT
   *
 FROM
   INFORMATION_SCHEMA.SCHEMATA_OPTIONS
 WHERE
   option_name="labels"'

Die Ergebnisse sollten in etwa so aussehen:

  +----------------+---------------+-------------+---------------------------------+------------------------+
  |  catalog_name  |  schema_name  | option_name |          option_type            |      option_value      |
  +----------------+---------------+-------------+---------------------------------+------------------------+
  | myproject      | mydataset1    | labels      | ARRAY<STRUCT<STRING, STRING>>   | [STRUCT("org", "dev")] |
  | myproject      | mydataset2    | labels      | ARRAY<STRUCT<STRING, STRING>>   | [STRUCT("org", "dev")] |
  +----------------+---------------+-------------+---------------------------------+------------------------+