Entwicklertools und -Funktionen

In diesem Dokument erhalten Sie einen Überblick über einige Funktionen und Tools, die Sie bei der Entwicklung von Lösungen mit BigQuery unterstützen.

Diagramm: BigQuery-Architektur

Entwicklerfunktionen

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

Daten laden und umwandeln

BigQuery bietet Möglichkeiten zum Batch-Laden, -Streamen und -Generieren neuer Daten. Informationen zum Auswählen 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 Analyseabfragen optimiert, die in Google SQL für große Datasets geschrieben werden. Sie können Abfragen planen, speichern und freigeben, die mit in BigQuery gespeicherten Daten, externen Daten, in anderen Clouds gespeicherten oder öffentlichen Datasets ausgeführt werden.

Remote-Funktionen

Sie können Remote-Funktionen verwenden, um die Funktionen in Cloud Functions oder Cloud Run bereitzustellen. Rufen Sie sie dann direkt über Ihre Google SQL-Abfragen auf. Diese Vorgehensweise 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

Sie können BigQuery ML zum Erstellen und Ausführen von ML-Modellen mit Google SQL-Abfragen verwenden.

Gespeicherte SQL-Prozeduren

Mit gespeicherten SQL-Prozeduren können Sie eine Sammlung von Anweisungen aus anderen Abfragen oder gespeicherten Prozeduren aufrufen. Sie können integrierte gespeicherte Prozeduren aufrufen oder eigene erstellen, in denen Sie Variablen definieren und die Ablaufsteuerung implementieren können.

semistrukturierte Daten

Sie können JSON-Daten in Google SQL 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 in den letzten sieben Tagen jederzeit 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 zu einem Zeitpunkt nach dem Zeitreisefenster 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

Sie können Tabellenklone für Versionstabellen verwenden und Tabellenschema-Änderungen testen. Ein Tabellenklon ist eine einfache, beschreibbare 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 benutzerdefinierte Funktionen (UDFs) in Google SQL oder JavaScript schreiben, die in Abfragen wiederverwendet werden können. Sie können eine UDF als Routine autorisieren. Damit können Sie Abfrageergebnisse mit bestimmten Nutzern oder Gruppen teilen, ohne diesen Nutzern oder Gruppen Zugriff auf die zugrunde liegenden Tabellen zu gewähren.

BigQuery-APIs

BigQuery bietet REST- und gRPC-APIs für die programmatische Schnittstelle mit den verschiedenen Arten von Diensten. Sie können die Identität Ihres Clients authentifizieren, um über Dienstkonten oder Nutzerkonten auf die APIs zuzugreifen. Die folgenden 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 über Ihre bevorzugte Programmiersprache einschließlich C#, Go, Java, Node.js, PHP, Python und Ruby auf BigQuery APIs zugreifen. Wählen Sie eine der folgenden Sprachen aus, um diese Ressourcen für die BigQuery API aufzurufen:

C#

  • Kurzanleitung. Schritt-für-Schritt-Anleitung zum Ausführen einer Abfrage in BigQuery mithilfe der Clientbibliothek.
  • API-Referenzdokumentation. Beschreibungen der Methoden und Objekte, 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. Fragen zur BigQuery-Clientbibliothek lesen, stellen und beantworten

Einfach loslegen (Go)

  • Kurzanleitung. Schritt-für-Schritt-Anleitung zum Ausführen einer Abfrage in BigQuery mithilfe der Clientbibliothek.
  • API-Referenzdokumentation. Beschreibungen der Methoden und Objekte, 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. Fragen zur BigQuery-Clientbibliothek lesen, stellen und beantworten

Java

  • Kurzanleitung. Schritt-für-Schritt-Anleitung zum Ausführen einer Abfrage in BigQuery mithilfe der Clientbibliothek.
  • API-Referenzdokumentation. Beschreibungen der Methoden und Objekte, 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. Fragen zur BigQuery-Clientbibliothek lesen, stellen und beantworten

Node.js

  • Kurzanleitung. Schritt-für-Schritt-Anleitung zum Ausführen einer Abfrage in BigQuery mithilfe der Clientbibliothek.
  • API-Referenzdokumentation. Beschreibungen der Methoden und Objekte, 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. Fragen zur BigQuery-Clientbibliothek lesen, stellen und beantworten

PHP

  • Kurzanleitung. Schritt-für-Schritt-Anleitung zum Ausführen einer Abfrage in BigQuery mithilfe der Clientbibliothek.
  • API-Referenzdokumentation. Beschreibungen der Methoden und Objekte, 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. Fragen zur BigQuery-Clientbibliothek lesen, stellen und beantworten

Python

  • Kurzanleitung. Schritt-für-Schritt-Anleitung zum Ausführen einer Abfrage in BigQuery mithilfe der Clientbibliothek.
  • API-Referenzdokumentation. Beschreibungen der Methoden und Objekte, 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. Fragen zur BigQuery-Clientbibliothek lesen, stellen und beantworten

Ruby

  • Kurzanleitung. Schritt-für-Schritt-Anleitung zum Ausführen einer Abfrage in BigQuery mithilfe der Clientbibliothek.
  • API-Referenzdokumentation. Beschreibungen der Methoden und Objekte, 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. Fragen zur BigQuery-Clientbibliothek lesen, stellen und beantworten

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 kann.
  • 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 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 und skalierbarer Messaging-Dienst Pub/Sub bietet BigQuery-Abos, um Nachrichten in eine vorhandene BigQuery-Tabelle zu schreiben, sobald sie empfangen werden.

Kontinuierliche Integration und Bereitstellung

Die folgenden Optionen helfen Ihnen, Ihren Entwicklerworkflow mit BigQuery zu verwalten und zu automatisieren:

  • 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. Dienst für Datenanalysten zum Entwickeln, Testen, Planen der Versionsverwaltung und Planen von komplexen SQL-Workflows für die Datentransformation in BigQuery.
  • dbt. Ein Framework zur Orchestrierung und Bereitstellung von Workflows, zum Testen und Katalogisieren Ihrer Daten und zur Wiederverwendung von Code als Makros.
  • Liquibase. Eine Lösung zum Änderungsmanagement für Datenbankschemas, mit der Sie Änderungen schnell und sicher von der Entwicklung bis zur Produktion freigeben und freigeben können.

ODBC- und JDBC-Treiber

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

Nächste Schritte

  • Weitere Informationen zu anstehenden Ereignissen und Ressourcen für Google Cloud-Entwickler finden Sie im Developer Center.
  • Weitere Informationen dazu, wie andere Unternehmen Google Cloud verwenden, 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.