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
- Informationen zu BigLake-Tabellen
- Weitere Informationen zu Objekttabellen
- Informationen zu externen Tabellen
- Informationen zu föderierten Abfragen
- Informationen zu BigQuery-Preisen