Einführung in externe Datenquellen

Diese Seite bietet eine Übersicht über das Abfragen von Daten, die außerhalb von BigQuery gespeichert sind.

Eine externe Datenquelle ist eine Datenquelle, für die auch dann direkt aus BigQuery heraus eine Abfrage ausgeführt werden kann, wenn die Daten nicht im BigQuery-Speicher gespeichert sind. Angenommen, Sie haben Daten in einer anderen Google Cloud-Datenbank, in Dateien in Cloud Storage oder in einem anderen Cloud-Produkt, die Sie zwar in BigQuery analysieren möchten, die aber nicht für die Migration vorbereitet sind.

Anwendungsfälle für externe Datenquellen sind:

  • Bei ELT-Arbeitslasten (Extrahieren, Laden, Transformieren) werden Ihre Daten in einem einzigen Vorgang geladen und bereinigt. Das bereinigte Ergebnis wird dann in den BigQuery-Speicher geschrieben mithilfe einer CREATE TABLE ... AS SELECT-Abfrage.
  • BigQuery-Tabellen mit häufig wechselnden Daten aus einer externen Datenquelle zusammenführen. Wenn Sie die externe Datenquelle direkt abfragen, müssen Sie die Daten nicht bei jeder Änderung neu in den BigQuery-Speicher laden.

BigQuery verfügt über zwei verschiedene Mechanismen zum Abfragen externer Daten: externe Tabellen und föderierte Abfragen.

Externe Tabellen

Externe Tabellen ähneln BigQuery-Standardtabellen insofern, als diese Tabellen ihre Metadaten und ihr Schema im BigQuery-Speicher speichern. Ihre Daten befinden sich jedoch in einer externen Quelle.

Externe Tabellen sind in einem Dataset enthalten und werden genauso verwaltet wie eine BigQuery-Standardtabelle. Beispiel: Sie können die Attribute der Tabelle aufrufen, Zugriffssteuerungen festlegen usw. Sie können diese Tabellen abfragen und in den meisten Fällen mit anderen Tabellen zusammenführen.

Es gibt vier Arten von externen Tabellen:

  • BigLake-Tabellen
  • BigQuery Omni-Tabellen
  • Objekttabellen
  • Externe Nicht-BigLake-Tabellen

BigLake-Tabellen

Mit BigLake-Tabellen können Sie strukturierte Daten in externen Datenspeichern per Zugriffsdelegation abfragen. Durch die Zugriffsdelegation wird der Zugriff auf die BigLake-Tabelle vom Zugriff auf den zugrunde liegenden Datenspeicher entkoppelt. Für den Verbindungsaufbau zum Datenspeicher wird eine externe Verbindung verwendet, die mit einem Dienstkonto verknüpft ist. Da das Dienstkonto das Abrufen von Daten aus dem Datenspeicher übernimmt, müssen Sie Nutzern nur Zugriff auf die BigLake-Tabelle gewähren. So können Sie genaue Sicherheitsfunktionen auf Tabellenebene erzwingen, einschließlich Sicherheit auf Zeilen- und Spaltenebene. Für BigLake-Tabellen, die auf Cloud Storage basieren, können Sie auch die dynamische Datenmaskierung verwenden. Weitere Informationen zu Multi-Cloud-Analyselösungen unter Verwendung von BigLake-Tabellen mit Amazon S3- oder Blob Storage-Daten finden Sie unter BigQuery Omni.

Weitere Informationen finden Sie unter Einführung in BigLake-Tabellen.

Objekttabellen

Mit Objekttabellen können Sie unstrukturierte Daten in Cloud Storage analysieren. Sie können Analysen mit Remotefunktionen ausführen oder mit BigQuery ML Schlussfolgerungen ziehen und dann die Ergebnisse dieser Vorgänge mit den restlichen strukturierten Daten in BigQuery zusammenführen.

Wie BigLake-Tabellen verwenden Objekttabellen eine Zugriffsdelegation, die den Zugriff auf die Objekttabelle vom Zugriff auf die Cloud Storage-Objekte entkoppelt. Eine externe Verbindung, die mit einem Dienstkonto verknüpft ist, wird für die Verbindung mit Cloud Storage verwendet, sodass Sie Nutzern nur Zugriff auf die Objekttabelle gewähren müssen. So können Sie die Sicherheit auf Zeilenebene erzwingen und verwalten, auf welche Objekte Nutzer Zugriff haben.

Weitere Informationen finden Sie unter Einführung in Objekttabellen.

Externe Nicht-BigLake-Tabellen

Mit externen Tabellen ohne BigLake können Sie strukturierte Daten in externen Datenspeichern abfragen. Zur Abfrage einer externen Tabelle, die nicht von BigLake stammt, müssen Sie sowohl für die externe Tabelle als auch für die externe Datenquelle Berechtigungen haben. Wenn Sie beispielsweise eine externe Tabelle , die nicht von BigLake stammt, abfragen möchten, die eine Datenquelle in Cloud Storage verwendet, benötigen Sie die folgenden Berechtigungen:

  • bigquery.tables.getData
  • bigquery.jobs.create
  • storage.buckets.get
  • storage.objects.get

Weitere Informationen finden Sie unter Einführung in externe Tabellen.

Föderierte Abfragen

Mit föderierten Abfragen können Sie eine Abfrageanweisung an AlloyDB-, Spanner- oder Cloud SQL-Datenbanken senden und das Ergebnis als temporäre Tabelle zurückgeben. Föderierte Abfragen verwenden die BigQuery Connection API, um eine Verbindung mit AlloyDB, Spanner oder Cloud SQL herzustellen. In der Abfrage verwenden Sie die Funktion EXTERNAL_QUERY, um eine Abfrageanweisung mit dem SQL-Dialekt dieser Datenbank an die externe Datenbank zu senden. Die Ergebnisse werden in GoogleSQL-Datentypen konvertiert.

Weitere Informationen finden Sie unter Einführung in föderierte Abfragen.

Featurevergleich mit externen Datenquellen

In der folgenden Tabelle wird das Verhalten externer Datenquellen verglichen:

BigLake-Tabellen Objekttabellen Externe Nicht-BigLake-Tabellen Föderierte Abfragen
Verwendet die Zugriffsdelegierung Ja, über ein Dienstkonto Ja, über ein Dienstkonto Nein Ja, über ein Datenbanknutzerkonto (nur Cloud SQL)
Kann auf mehreren Quell-URIs basieren Ja Ja Ja (nur Cloud Storage) Nicht zutreffend
Zeilenzuordnung Zeilen stellen Dateiinhalte dar Zeilen stellen Datei-Metadaten dar Zeilen stellen Dateiinhalte dar Nicht zutreffend
Zugriff über andere Datenverarbeitungstools mithilfe von Connectors Ja (nur Cloud Storage) Nein Ja Nicht zutreffend
Kann mit anderen BigQuery-Tabellen verknüpft werden Ja (nur Cloud Storage) Ja Ja Ja
Kann als temporäre Tabelle aufgerufen werden Ja (nur Cloud Storage) Nein Ja Ja
Funktioniert mit Amazon S3 Ja Nein Nein Nein
Funktioniert mit Azure Storage Ja Nein Nein Nein
Funktioniert mit Bigtable Nein Nein Ja Nein
Funktioniert mit Cloud Spanner Nein Nein Nein Ja
Funktioniert mit Cloud SQL Nein Nein Nein Ja
Kompatibel mit Google Drive Nein Nein Ja Nein
Funktioniert mit Cloud Storage Ja Ja Ja Nein

Nächste Schritte