Entwicklertools und -Funktionen

Dieses Dokument bietet einen Überblick über einige der Features und Tools, die Ihnen beim Entwickeln von Lösungen mit BigQuery helfen.

Diagramm der BigQuery-Architektur.

Entwicklerfunktionen

In diesem Abschnitt werden einige gängige integrierte Features für Entwickler beschrieben, die BigQuery verwenden.

Daten laden und umwandeln

BigQuery ermöglicht das Laden, Streamen und Generieren neuer Daten im Batch. Informationen zur Auswahl der besten Option für Ihren Anwendungsfall finden Sie unter Einführung in das Laden von Daten.

Abfragen

BigQuery ist für die Ausführung von analytischen Abfragen auf großen Datasets optimiert, die in GoogleSQL geschrieben sind. Sie können Abfragen planen, speichern und freigeben, die auf in BigQuery gespeicherte Daten, externen Daten, in anderen Clouds gespeicherten Daten oder auf öffentlichen Datasets ausgeführt werden.

Remote-Funktionen

Sie können Remote-Funktionen verwenden, um die Funktionen in Cloud Run-Funktion oder Cloud Run bereitzustellen. Rufen Sie sie dann direkt über Ihre Google SQL-Abfragen auf. Dieser Ansatz ist besonders nützlich, wenn Sie Ihre Funktionen in anderen Sprachen als SQL oder JavaScript implementieren müssen. Remote-Funktionen können für viele Dinge verwendet werden, z. B. zum Übersetzen von Text in einer Tabelle von einer Sprache in eine andere und zum Initiieren von Aktionen, z. B. zur Benachrichtigung, wenn Werte in einer Tabelle unter einen Schwellenwert fallen, oder zum Ausführen von Batchtransformationen, z. B. zum Anwenden eines Modells für maschinelles Lernen (ML).

Maschinelles Lernen

Mit BigQuery ML können Sie ML-Modelle mit GoogleSQL-Abfragen erstellen und ausführen.

Gespeicherte SQL-Prozeduren

Sie können gespeicherte SQL-Prozeduren verwenden, um Sammlungen von Anweisungen aus anderen Abfragen oder gespeicherten Prozeduren aufzurufen. Sie können integrierte gespeicherte Prozeduren aufrufen oder eigene schreiben, mit denen Sie Variablen definieren und die Ablaufsteuerung implementieren können.

semistrukturierte Daten

Sie können JSON-Daten in GoogleSQL verwenden, um semistrukturierte Daten in BigQuery aufzunehmen, ohne im Voraus ein Schema bereitzustellen. Mit dem Operator für den Feldzugriff können Sie die Werte von Feldern und Arrayelementen direkt abfragen.

Zeitreise

Sie können mit Zeitreisen auf in BigQuery gespeicherte Daten zugreifen, die zu einer beliebigen Zeit in den letzten sieben Tagen geändert oder gelöscht wurden. Mit diesem Feature können Sie aktualisierte, gelöschte oder abgelaufene Tabellen wiederherstellen, auch wenn Sie Ihre Daten nicht gesichert haben.

Tabellen-Snapshots

Sie können Tabellen-Snapshots verwenden, wenn Sie Ihre Tabelle ab einem Zeitpunkt jenseits des Zeitreisefensters sichern müssen. BigQuery speichert nur Byte, die sich von einem Snapshot und der Basistabelle unterscheiden. Daher verwendet ein Tabellen-Snapshot normalerweise weniger Speicherplatz als eine vollständige Kopie der Tabelle.

Tabellenklone

Mit Tabellenklonen können Sie Tabellen versionieren und Änderungen am Tabellenschema testen. Ein Tabellenklon ist eine einfache, schreibbare Kopie einer anderen Tabelle. Ihnen werden nur Kosten für die Speicherung von Daten im Tabellenklon in Rechnung gestellt, wenn diese sich von den Daten in der Basistabelle unterscheiden. Für Tabellenklone fallen anfangs also keine Speicherkosten an.

Externe Tabellen

Sie können externe Tabellen direkt aus BigQuery abfragen, z. B. Daten in einer anderen Google Cloud-Datenbank, Dateien in Cloud Storage oder insgesamt in einem anderen Cloud-Produkt. Mit diesem Feature können Sie ELT-Arbeitslasten mit einer einzigen Abfrage ausführen oder BigQuery-Tabellen mit häufig wechselnden Daten aus einer anderen Quelle zusammenführen.

Benutzerdefinierte Funktionen

Sie können in GoogleSQL oder JavaScript benutzerdefinierte Funktionen (User-Defined Functions, UDFs) schreiben, die für mehrere Abfragen wiederverwenden werden können. Sie können eine UDF als Routine autorisieren, mit der Sie Abfrageergebnisse für bestimmte Nutzer oder Gruppen freigeben können, ohne diesen Nutzern oder Gruppen Zugriff auf die zugrunde liegenden Tabellen zu gewähren.

BigQuery-APIs

BigQuery bietet REST und gRPC APIs als programmatische Schnittstelle zu seinen verschiedenen Diensttypen. Sie können die Identität Ihres Clients über Dienstkonten oder Nutzerkonten authentifizieren, damit dieser auf die APIs zugreifen kann. Folgende APIs sind verfügbar:

Weitere Informationen zu den einzelnen APIs finden Sie unter BigQuery APIs und Bibliotheken – Übersicht.

BigQuery DataFrames-Bibliothek

BigQuery DataFrames ist eine Python API, mit der Sie Daten analysieren und Aufgaben für maschinelles Lernen in BigQuery ausführen können. Sie können sich den Quellcode für die API auf GitHub ansehen.

Erste Schritte mit BigQuery DataFrames mithilfe der BigQuery DataFrames-Kurzanleitung

Clientbibliotheken

Mit Clientbibliotheken können Sie direkt unter Verwendung Ihrer bevorzugten Programmiersprache (darunter C#, Go, Java, Node.js, PHP, Python und Ruby) auf BigQuery APIs zugreifen. Wählen Sie eine der folgenden Sprachen, um diese Ressourcen für die BigQuery API anzuzeigen:

C#

  • Kurzanleitung. Folgen Sie der Schritt-für-Schritt-Anleitung, um mithilfe der Clientbibliothek eine Abfrage in BigQuery auszuführen.
  • API-Referenzdokumentation. Beschreibungen der Methoden und Objekte ansehen, die für Ihre Sprache unterstützt werden.
  • GitHub-Quellcode. Sehen Sie sich den Quellcode für die BigQuery-Clientbibliothek auf GitHub an.
  • Stack Overflow. Lesen, stellen und beantworten Sie Fragen mit Bezug auf die BigQuery-Clientbibliothek.

Go

  • Kurzanleitung. Folgen Sie der Schritt-für-Schritt-Anleitung, um mithilfe der Clientbibliothek eine Abfrage in BigQuery auszuführen.
  • API-Referenzdokumentation. Beschreibungen der Methoden und Objekte ansehen, die für Ihre Sprache unterstützt werden.
  • GitHub-Quellcode. Sehen Sie sich den Quellcode für die BigQuery-Clientbibliothek auf GitHub an.
  • Stack Overflow. Lesen, stellen und beantworten Sie Fragen mit Bezug auf die BigQuery-Clientbibliothek.

Java

  • Kurzanleitung. Folgen Sie der Schritt-für-Schritt-Anleitung, um mithilfe der Clientbibliothek eine Abfrage in BigQuery auszuführen.
  • API-Referenzdokumentation. Beschreibungen der Methoden und Objekte ansehen, die für Ihre Sprache unterstützt werden.
  • GitHub-Quellcode. Sehen Sie sich den Quellcode für die BigQuery-Clientbibliothek auf GitHub an.
  • Stack Overflow. Lesen, stellen und beantworten Sie Fragen mit Bezug auf die BigQuery-Clientbibliothek.

Node.js

  • Kurzanleitung. Folgen Sie der Schritt-für-Schritt-Anleitung, um mithilfe der Clientbibliothek eine Abfrage in BigQuery auszuführen.
  • API-Referenzdokumentation. Beschreibungen der Methoden und Objekte ansehen, die für Ihre Sprache unterstützt werden.
  • GitHub-Quellcode. Sehen Sie sich den Quellcode für die BigQuery-Clientbibliothek auf GitHub an.
  • Stack Overflow. Lesen, stellen und beantworten Sie Fragen mit Bezug auf die BigQuery-Clientbibliothek.

PHP

  • Kurzanleitung. Folgen Sie der Schritt-für-Schritt-Anleitung, um mithilfe der Clientbibliothek eine Abfrage in BigQuery auszuführen.
  • API-Referenzdokumentation. Beschreibungen der Methoden und Objekte ansehen, die für Ihre Sprache unterstützt werden.
  • GitHub-Quellcode. Sehen Sie sich den Quellcode für die BigQuery-Clientbibliothek auf GitHub an.
  • Stack Overflow. Lesen, stellen und beantworten Sie Fragen mit Bezug auf die BigQuery-Clientbibliothek.

Python

  • Kurzanleitung. Folgen Sie der Schritt-für-Schritt-Anleitung, um mithilfe der Clientbibliothek eine Abfrage in BigQuery auszuführen.
  • API-Referenzdokumentation. Beschreibungen der Methoden und Objekte ansehen, die für Ihre Sprache unterstützt werden.
  • GitHub-Quellcode. Sehen Sie sich den Quellcode für die BigQuery-Clientbibliothek auf GitHub an.
  • Stack Overflow. Lesen, stellen und beantworten Sie Fragen mit Bezug auf die BigQuery-Clientbibliothek.

Ruby

  • Kurzanleitung. Folgen Sie der Schritt-für-Schritt-Anleitung, um mithilfe der Clientbibliothek eine Abfrage in BigQuery auszuführen.
  • API-Referenzdokumentation. Beschreibungen der Methoden und Objekte ansehen, die für Ihre Sprache unterstützt werden.
  • GitHub-Quellcode. Sehen Sie sich den Quellcode für die BigQuery-Clientbibliothek auf GitHub an.
  • Stack Overflow. Lesen, stellen und beantworten Sie Fragen mit Bezug auf die BigQuery-Clientbibliothek.

Weitere Informationen zur Verwendung der BigQuery-Clientbibliotheken in Ihrer lokalen Umgebung finden Sie unter BigQuery API-Clientbibliotheken.

Codebeispiele

Sie können in BigQuery-Codebeispielen suchen, die vollständige Snippets zum Ausführen allgemeiner Aufgaben in BigQuery bereitstellen, z. B. zum Erstellen von Tabellen, zum Auflisten von Verbindungen, zum Aufrufen von Kapazitätszusicherungen und -reservierungen und zum Laden von Daten. Wählen Sie eine API, eine Aufgabe und Ihre bevorzugte Sprache aus, um ein Beispiel aufzurufen.

Programmatische Tools und Dienste

Die folgenden Dienste sind in BigQuery eingebunden und bieten zusätzliche Funktionen zum Erstellen von Lösungen:

  • Dataproc. Ein vollständig verwalteter Dienst zum Ausführen von Apache Hadoop- und Apache Spark-Jobs. Dataproc bietet den BigQuery-Connector, mit dem Hadoop und Spark Daten direkt aus BigQuery verarbeiten können.
  • Dataflow. Ein vollständig verwalteter Dienst zum Ausführen umfangreicher Apache Beam-Jobs. Mit dem BigQuery-E/A-Connector für Beam können Beam-Pipelines Daten in und aus BigQuery lesen und schreiben.
  • Cloud Composer. Vollständig verwalteter, auf Apache Airflow basierender Dienst für die Workflow-Orchestrierung Mit BigQuery-Operatoren können Airflow-Workflows Datasets und Tabellen verwalten, Abfragen ausführen und Daten validieren.
  • Pub/Sub. Ein asynchroner, skalierbarer Messaging-Dienst. Pub/Sub bietet BigQuery-Abos zum Schreiben von Nachrichten in eine vorhandene BigQuery-Tabelle beim Empfang.

Kontinuierliche Einbindung und Bereitstellung

Die folgenden Optionen können Ihnen beim Verwalten und Automatisieren Ihres Entwickler-Workflows mit BigQuery helfen:

  • BigQuery Terraform-Modul. Ein Modul zur Automatisierung der Instanziierung und Bereitstellung Ihrer BigQuery-Datasets und -Tabellen.
  • bq-Befehlszeilentool. Ein Python-basiertes Befehlszeilentool für BigQuery.
  • Dataform. Ein Dienst, mit dem Datenanalysten komplexe SQL-Workflows für die Datentransformation in BigQuery entwickeln, testen und planen sowie eine Versionsverwaltung dafür ausführen können.
  • dbt. Ein Framework, das Ihnen hilft, Workflows zu orchestrieren und bereitzustellen, Daten zu testen und zu katalogisieren und Codeteile als Makros wiederzuverwenden.
  • Liquibase. Eine Lösung für das Änderungsmanagement von Datenbankschemas, mit der Sie Änderungen schnell und sicher von der Entwicklung bis zur Produktion überarbeiten und freigeben können.

ODBC- und JDBC-Treiber

Mit ODBC (Open Database Connectivity)- und JDBC (Java Database Connectivity)-Treibern können Sie datenbankneutrale Softwareanwendungen in gängigen Programmiersprachen schreiben, um BigQuery mit Ihrer vorhandenen Infrastruktur zu verbinden. Weitere Informationen und die neuesten Treiber-Releases finden Sie unter ODBC- und JDBC-Treiber für BigQuery.

Nächste Schritte

  • Weitere Informationen zu anstehenden Veranstaltungen und Ressourcen für Google Cloud-Entwickler finden Sie im Entwicklercenter.
  • Weitere Informationen zur Nutzung von Google Cloud durch andere Unternehmen finden Sie unter Daten-Cloud für ISVs.
  • Weitere Informationen zu validierten Partnerlösungen, die in BigQuery eingebunden werden können, finden Sie unter Google Cloud Ready – BigQuery.