Tabellen erstellen und verwenden

In diesem Dokument wird beschrieben, wie Sie Standardtabellen (integriert) in BigQuery erstellen und verwenden. Informationen zum Erstellen anderer Tabellentypen finden Sie in den folgenden Artikeln:

Nach dem Erstellen einer Tabelle haben Sie folgende Möglichkeiten:

  • Zugriff auf Ihre Tabellendaten steuern
  • Informationen zu Ihren Tabellen abrufen
  • Tabellen in einem Dataset auflisten
  • Metadaten von Tabellen abrufen.

Weitere Informationen zur Verwaltung von Tabellen, einschließlich dem Aktualisieren von Tabellenattributen, Kopieren von Tabellen und Löschen von Tabellen, finden Sie unter Tabellen verwalten.

Hinweis

Weisen Sie IAM-Rollen (Identity and Access Management) zu, die Nutzern die erforderlichen Berechtigungen zum Ausführen der einzelnen Aufgaben in diesem Dokument gewähren.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, damit Sie die nötigen Berechtigungen zum Erstellen einer Tabelle haben:

  • BigQuery Job User (roles/bigquery.jobUser) für das Projekt, wenn Sie eine Tabelle erstellen, indem Sie Daten laden oder Abfrageergebnisse in einer Tabelle speichern.
  • BigQuery-Dateneditor (roles/bigquery.dataEditor) für das Dataset, in dem Sie die Tabelle erstellen.

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Erstellen einer Tabelle erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind zum Erstellen einer Tabelle erforderlich:

  • bigquery.tables.create für das Dataset, in dem Sie die Tabelle erstellen.
  • bigquery.tables.getData für alle Tabellen und Ansichten, auf die Ihre Abfrage verweist, wenn Sie Abfrageergebnisse als Tabelle speichern.
  • bigquery.jobs.create im Projekt, wenn Sie die Tabelle durch Laden von Daten oder durch Speichern von Abfrageergebnissen in einer Tabelle erstellen.
  • bigquery.tables.updateData für die Tabelle, wenn Sie Daten in einer Tabelle mit Abfrageergebnissen anfügen oder überschreiben.

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Tabellennamen

Wenn Sie eine Tabelle in BigQuery erstellen, muss der Tabellenname pro Dataset eindeutig sein. Der Tabellenname kann:

  • Zeichen mit insgesamt bis zu 1.024 UTF-8-Byte enthalten.
  • Unicode-Zeichen in Kategorie L (Buchstabe), M (Zeichen), N (Zahl), Pc (Verbindungselement, einschließlich Unterstrich), Pd (Strich), Zs (Leerzeichen) enthalten Weitere Informationen finden Sie unter Allgemeine Kategorie.

Beispiele für gültige Tabellennamen: table 01, ग्राहक, 00_お客様, étudiant-01.

Vorsichtsmaßnahmen:

  • Bei Tabellennamen wird standardmäßig zwischen Groß- und Kleinschreibung unterschieden. mytable und MyTable können im selben Dataset gleichzeitig vorhanden sein, es sei denn, sie sind Teil eines Datasets mit deaktivierter Berücksichtigung der Groß-/Kleinschreibung.
  • Einige Tabellennamen und Präfixe für Tabellennamen sind reserviert. Wenn Ihnen eine Fehlermeldung angezeigt wird, dass der Tabellenname oder das Präfix reserviert ist, wählen Sie einen anderen Namen aus und versuchen Sie es noch einmal.
  • Wenn Sie mehrere Punktoperatoren (.) in eine Sequenz aufnehmen, werden die doppelten Operatoren implizit entfernt.

    Beispiel: project_name....dataset_name..table_name

    Dieses Tag wird folgendermaßen geändert: project_name.dataset_name.table_name

Tabellen erstellen

So können Sie eine Tabelle in BigQuery erstellen:

  • Manuell mit der Google Cloud Console oder dem Befehl bq mk des bq-Befehlszeilentools.
  • Programmatisch durch Aufrufen der API-Methode tables.insert
  • Mit den Clientbibliotheken
  • Aus Abfrageergebnissen
  • Durch Definieren einer Tabelle, die auf eine externe Datenquelle verweist
  • Beim Laden von Daten
  • Mit einer CREATE TABLE Datendefinitionssprache (DDL)-Anweisung.

Eine leere Tabelle mit einer Schemadefinition erstellen

So können Sie eine leere Tabelle mit einer Schemadefinition erstellen:

  • Geben Sie das Schema mithilfe der Google Cloud Console ein.
  • Geben Sie das Schema inline mit dem bq-Befehlszeilentool an.
  • Reichen Sie eine JSON-Schemadatei unter Verwendung des bq-Befehlszeilentools ein.
  • Geben Sie das Schema beim Aufrufen der API-Methode tables.insert in einer Tabellenressource an.

Weitere Informationen zur Angabe eines Tabellenschemas finden Sie unter Schema angeben.

Nachdem die Tabelle erstellt wurde, können Sie Daten laden bzw. die Tabelle füllen. Dazu schreiben Sie Abfrageergebnisse in die Tabelle.

So erstellen Sie eine leere Tabelle mit einer Schemadefinition:

Console

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Klicken Sie im linken Bereich auf Explorer.
  3. Maximieren Sie im Bereich Explorer Ihr Projekt, klicken Sie auf Datasets und wählen Sie dann ein Dataset aus.
  4. Klicken Sie im Abschnitt Dataset-Informationen auf Tabelle erstellen.
  5. Geben Sie im Bereich Tabelle erstellen die folgenden Details an:
    1. Wählen Sie im Abschnitt Quelle in der Liste Tabelle erstellen aus die Option Leere Tabelle aus.
    2. Geben Sie im Bereich Ziel die folgenden Details an:
      1. Wählen Sie bei Dataset das Dataset aus, in dem Sie die Tabelle erstellen möchten.
      2. Geben Sie im Feld Tabelle den Namen der Tabelle ein, die Sie erstellen möchten.
      3. Achten Sie darauf, dass das Feld Tabellentyp auf Native Tabelle eingestellt ist.
    3. Geben Sie im Abschnitt Schema die Schemadefinition ein. Sie können Schemainformationen manuell mit einer der folgenden Methoden eingeben:
      • Option 1: Klicken Sie auf Als Text bearbeiten und fügen Sie das Schema in Form eines JSON-Arrays ein. Generieren Sie das Schema mit demselben Verfahren wie beim Erstellen einer JSON-Schemadatei, wenn Sie ein JSON-Array verwenden. Sie können das Schema einer vorhandenen Tabelle im JSON-Format ansehen. Geben Sie dafür folgenden Befehl ein:
            bq show --format=prettyjson dataset.table
            
      • Option 2: Klicken Sie auf Feld hinzufügen und geben Sie das Tabellenschema ein. Geben Sie für jedes Feld Name, Typ und Modus an.
    4. Optional: Geben Sie Partitions- und Clustereinstellungen an. Weitere Informationen finden Sie unter Partitionierte Tabellen erstellen und Geclusterte Tabellen erstellen und verwenden.
    5. Optional: Wenn Sie im Abschnitt Erweiterte Optionen einen kundenverwalteten Verschlüsselungsschlüssel verwenden möchten, wählen Sie die Option Kundenverwalteten Verschlüsselungsschlüssel (CMEK) verwenden aus. Standardmäßig verschlüsselt BigQuery Kundendaten im Ruhezustand mit einem Google-owned and Google-managed encryption key.
    6. Klicken Sie auf Tabelle erstellen.

SQL

Das folgende Beispiel erstellt eine Tabelle mit dem Namen newtable, die am 1. Januar 2023 abläuft.

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Geben Sie im Abfrageeditor die folgende Anweisung ein:

    CREATE TABLE mydataset.newtable (
      x INT64 OPTIONS (description = 'An optional INTEGER field'),
      y STRUCT <
        a ARRAY <STRING> OPTIONS (description = 'A repeated STRING field'),
        b BOOL
      >
    ) OPTIONS