Einführung in externe Datenquellen

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

Übersicht

Eine externe Datenquelle (auch "föderierte Datenquelle" genannt) ist eine Datenquelle, für die auch dann eine direkte Abfrage ausgeführt werden kann, wenn die Daten nicht in BigQuery gespeichert sind. Statt die Daten zu laden oder zu streamen, erstellen Sie dazu eine Tabelle, die auf die externe Datenquelle verweist.

BigQuery ermöglicht die direkte Abfrage von Daten aus den folgenden Datenquellen:

Unterstützte Formate sind:

  • Avro
  • CSV
  • JSON (nur durch Zeilenumbruch getrennt)
  • ORC
  • Parquet

Dazu gehören folgende Anwendungsfälle für externe Datenquellen:

  • Ihre Daten werden in einem Vorgang geladen und bereinigt. Dabei wird eine Abfrage für die Daten einer externen Datenquelle (einem Speicherort außerhalb von BigQuery) ausgeführt und das bereinigte Ergebnis dann in den BigQuery-Speicher geschrieben.
  • Es ist nur eine relativ kleine Menge an Daten vorhanden, die sich regelmäßig ändert und mit anderen Tabellen zusammengeführt wird. Da die sich regelmäßig ändernden Daten eine externe Datenquelle sind, müssen sie nicht bei jeder Aktualisierung neu geladen werden.

Einschränkungen für externe Datenquellen

Zu den Einschränkungen für externe Datenquellen gehören unter anderem:

  • BigQuery übernimmt bei externen Datenquellen keine Garantie für die Datenkonsistenz. Werden die zugrunde liegenden Daten während der Ausführung der Abfrage geändert, kann dies zu einem unerwarteten Verhalten führen.
  • Die Abfrageleistung ist bei externen Datenquellen mitunter geringer als bei nativen BigQuery-Tabellen. Wenn die Abfragegeschwindigkeit hohe Priorität hat, sollten Sie die Daten in BigQuery laden und nicht mit einer externen Datenquelle arbeiten. Die Leistung von Abfragen, die eine externe Datenquelle einschließen, ist abhängig vom Typ des externen Speichers. Zum Beispiel dauern Abfragen von Daten, die in Cloud Storage gespeichert sind, weniger lange als Abfragen von in Google Drive gespeicherten Daten. Im Allgemeinen sollte die Abfrageleistung bei externen Datenquellen genauso hoch sein wie beim Auslesen der Daten direkt aus dem externen Speicher.
  • Die JSON-API-Methode TableDataList kann nicht zum Abrufen von Daten aus Tabellen verwendet werden, die in einer externen Datenquelle vorliegen. Weitere Informationen finden Sie unter tabledata.list.

    Zur Umgehung diese Einschränkung können Sie Abfrageergebnisse in einer Zieltabelle speichern. Sie können dann für die Ergebnistabelle die Methode TableDataList verwenden.

  • Es kann kein BigQuery-Job ausgeführt werden, der Daten aus einer externen Datenquelle exportiert.

    Sie können Abfrageergebnisse in einer Zieltabelle speichern, um diese Einschränkung zu umgehen. Danach lässt sich ein Exportjob auf die Ergebnistabelle anwenden.

  • Externe Datenquellen können nicht in einer Abfrage mit einer Platzhaltertabelle referenziert werden.

  • Tabellenpartitionierung bzw. Clustering werden von externen Datenquellen in eingeschränktem Umfang unterstützt. Weitere Informationen finden Sie unter Extern partitionierte Daten abfragen.

  • Wenn Sie Daten aus einer externen Quelle abfragen, werden die Ergebnisse nicht zwischengespeichert. Jede Abfrage aus einer externen Tabelle wird in Rechnung gestellt, auch wenn Sie dieselbe Abfrage mehrmals senden. Wenn Sie wiederholt eine Abfrage an eine externe Tabelle senden müssen, die sich nicht regelmäßig ändert, sollten Sie stattdessen die Abfrageergebnisse in eine permanente Tabelle schreiben und die Abfragen an die permanente Tabelle senden.

  • Die Datenabfrage in Cloud Bigtable ist derzeit nur in folgenden Regionen und Zonen verfügbar:
    Region Zone(n)
    us-central1

    us-central1-a

    us-central1-b

    us-central1-c

    us-central1-f

    europe-west1

    europe-west1-b

    europe-west1-c

    europe-west1-d

  • Sie können maximal vier Abfragen gleichzeitig für eine externe Cloud Bigtable-Datenquelle senden.

Überlegungen zum Standort

Beachten Sie Folgendes, wenn Sie einen Standort für Ihre Daten auswählen:

  • Platzieren Sie das BigQuery-Dataset und die externen Datenquellen am selben Standort.
    • Wenn Sie Daten in einer externen Datenquelle wie Cloud Storage abfragen, müssen sich die abgefragten Daten am selben Standort wie das BigQuery-Dataset befinden. Befindet sich Ihr BigQuery-Dataset beispielsweise an einem multiregionalen Standort in der EU, muss der Cloud Storage-Bucket mit den von Ihnen abgefragten Daten in einem multiregionalen Bucket in der EU vorhanden sein. Wenn sich Ihr Dataset hingegen am multiregionalen Standort in den USA befindet, muss Ihr Cloud Storage-Bucket in einem multiregionalen Bucket in den USA gespeichert sein.
    • Ist Ihr Dataset an einem regionalen Standort gespeichert, muss sich der Cloud Storage-Bucket, der die abgefragten Daten enthält, in einem regionalen Bucket am selben Speicherort befinden. Wenn sich Ihr Dataset zum Beispiel in der Region "Tokio" befindet, muss der Cloud Storage-Bucket ein regionaler Bucket in Tokio sein.
    • Wenn sich Ihr externes Dataset in Cloud Bigtable befindet, muss sich das Dataset am multiregionalen Standort "US" oder "EU" befinden. Die Cloud Bigtable-Daten müssen an einem der unterstützten Cloud Bigtable-Standorte gespeichert sein.
    • Standortüberlegungen gelten nicht für externe Datenquellen von Google Drive.
  • Entwickeln Sie einen Plan zur Datenverwaltung.
    • Wenn Sie eine regionale Speicherressource wie ein BigQuery-Dataset oder einen Cloud Storage-Bucket auswählen, müssen Sie einen Plan für die geografische Verwaltung Ihrer Daten erstellen.

Weitere Informationen zu Cloud Storage-Standorten finden Sie unter Bucket-Standorte in der Cloud Storage-Dokumentation.

Wenn Sie ein Dataset manuell von einem Standort an einen anderen verschieben möchten, gehen Sie so vor:

  1. Sie exportieren die Daten aus Ihren BigQuery-Tabellen in einen regionalen oder multiregionalen Cloud Storage-Bucket, der sich am selben Standort wie das Dataset befindet. Wenn sich Ihr Dataset zum Beispiel am multiregionalen Standort "EU" befindet, exportieren Sie Ihre Daten in einen regionalen oder multiregionalen Bucket in der EU.

    Beim Exportieren von Daten aus BigQuery fallen keine Gebühren an. Dagegen wird das Speichern der exportierten Daten in Cloud Storage in Rechnung gestellt. BigQuery-Exporte unterliegen den Limits für Exportjobs.

  2. Sie kopieren oder verschieben die Daten aus Ihrem Cloud Storage-Bucket in einen regionalen oder multiregionalen Bucket am neuen Standort. Wenn Sie zum Beispiel Ihre Daten vom multiregionalen Standort "US" an den regionalen Standort "Tokio" verschieben, werden die Daten in einen regionalen Bucket in Tokio übertragen. Weitere Informationen zum Übertragen von Cloud Storage-Objekten finden Sie in der Cloud Storage-Dokumentation unter Objekte umbenennen, kopieren und verschieben.

    Beachten Sie, dass beim Übertragen von Daten zwischen Regionen Gebühren für ausgehenden Netzwerktraffic in Cloud Storage anfallen.

  3. Nachdem Sie die Daten in einen Cloud Storage-Bucket am neuen Standort übertragen haben, erstellen Sie dort ein neues BigQuery-Dataset. Laden Sie Ihre Daten dann aus dem Cloud Storage-Bucket in BigQuery.

    Beim Laden der Daten in BigQuery fallen keine Kosten an. Das gilt jedoch nicht für das Speichern von Daten in Cloud Storage. Hier werden Gebühren berechnet, bis Sie die Daten oder den Bucket löschen. Es fallen außerdem Kosten an, wenn Sie die Daten in BigQuery speichern, nachdem sie geladen wurden. Das Laden von Daten in BigQuery unterliegt den Limits für Ladejobs.

Sie können auch Cloud Composer verwenden, um große Datasets programmatisch zu verschieben und zu kopieren.

Weitere Informationen zur Verwendung von Cloud Storage für das Speichern und Verschieben großer Datasets finden Sie unter Cloud Storage mit Big Data verwenden.

Preise für externe Datenquellen

Wenn Sie Daten aus einer externen Quelle abfragen, wird Ihnen die Anzahl der durch die Abfrage gelesenen Byte in Rechnung gestellt. Weitere Informationen finden Sie unter Abfragepreise und Cloud Storage-Daten abfragen.

Wenn Ihre Daten in ORC oder Parquet in Cloud Storage gespeichert sind, finden Sie entsprechende Informationen unter Abfragen von Spaltenformaten in Cloud Storage.

Außerdem wird das Speichern der Daten und weiteren Ressourcen, die von der Quellanwendung verwendet werden, gemäß den Preisrichtlinien der Anwendung in Rechnung gestellt:

  • Weitere Informationen zu Cloud Storage-Preisen finden Sie unter Cloud Storage – Preise
  • Informationen zu den Preisen für Cloud Bigtable erhalten Sie unter Preise
  • Informationen zu den Preisen für Google Drive finden Sie unter Preise

Weitere Informationen