Notebooks und programmatische Analysetools

SQL ist zwar eine leistungsstarke Abfragesprache, doch bieten Programmiersprachen wie Python, Java oder R Syntaxen und statistische Funktionen, die für Datenanalyseaufgaben aussagekräftiger sein können. Notebook-Umgebungen bieten eine hochflexible Alternative zu Tabellen für komplexe Datenanalysen und ML-Workflows (maschinelles Lernen).

BigQuery bietet eine integrierte Notebook-Einbindung sowie Unterstützung für mehrere andere programmatische Analyselösungen.

Colab Enterprise-Notebooks

Sie können Colab Enterprise-Notebooks in BigQuery verwenden, um End-to-End-Data-Science- und ML-Workflows in einer einzigen, integrierten Oberfläche auszuführen. Im Gegensatz zu Standard-SQL-Editoren können Sie in Notebooks SQL-Abfragen mit Python-Code, Rich Text und Visualisierungen kombinieren, um mit Ihren Daten eine umfassende Geschichte zu erzählen. Colab Enterprise-Notebooks sind ideal für die folgenden Anwendungsfälle:

  • End-to-End-ML-Workflows: BigQuery ML-Modelle in einer einzigen Oberfläche erstellen, bewerten und bereitstellen.
  • Datenexploration: Große Datasets mit BigQuery DataFrames bereinigen und analysieren.
  • Gemeinsame Forschung: Sie können den Versionsverlauf verfolgen und Notebooks mit Identity and Access Management (IAM) für Kollegen freigeben.

Colab Enterprise-Notebooks bieten folgende Vorteile:

  • KI-basierte Entwicklung: Nutzen Sie die Gemini Enterprise Agent Platform für die unterstützende Codeentwicklung.
  • Nahtlose Python-Integration: Sie können die BigQuery DataFrames API ohne zusätzliche Einrichtung verwenden.
  • Vertraute Editor-Funktionen: Profitieren Sie von der automatischen SQL-Vervollständigung, ähnlich wie im BigQuery-SQL-Editor.
  • Integrierte Visualisierungen: Verwenden Sie interaktive DataFrame-Visualisierungen oder Bibliotheken wie matplotlib und seaborn direkt in Ihrem Workflow.
  • SQL-Python-Interoperabilität: SQL in Zellen ausführen, die auf Python-Variablen verweisen.

Informationen zu Zellen

Ein Notebook besteht aus Zellen, die Sie bearbeiten können. Die folgenden Zellentypen werden in Colab Enterprise-Notebooks unterstützt:

  • Textzelle: Verwenden Sie eine Textzelle, um Ihrem Notebook Erläuterungen und Bilder in Markdown hinzuzufügen.

  • Codezelle: Verwenden Sie eine Codezelle, um Ihrem Notebook Python-Code hinzuzufügen. Sie können jede Codezelle einzeln ausführen. Eine Codezelle kann auf alle Variablen verweisen, die in einer anderen, bereits ausgeführten Zelle erstellt wurden.

  • SQL-Zelle: Verwenden Sie eine SQL-Zelle, um GoogleSQL-Abfragen auszuführen. Die Ausgabe der Abfrage wird automatisch als DataFrame mit demselben Namen wie der Titel der Zelle gespeichert. Sie können mehrere SQL-Anweisungen in einer einzelnen SQL-Zelle ausführen, aber nur die Ergebnisse der letzten Anweisung werden in einem DataFrame gespeichert.

    Sie können in Ausdrücken auf Python-Variablen verweisen oder BigQuery DataFrames als Tabellen in Ihrer Abfrage verwenden, indem Sie den Variablennamen in geschweifte Klammern ({ }) setzen:

    # Refer to the Python variable my_threshold in a SQL expression.
    SELECT * FROM my_dataset.my_table WHERE x > {my_threshold};
    
    # Reference previous query results to iterate on your queries.
    SELECT * FROM {df};
    
  • Visualisierungszelle: Verwenden Sie eine Visualisierungszelle, um automatisch eine Visualisierung eines beliebigen DataFrames in Ihrem Notebook zu generieren. Sie können die angezeigten Spalten ändern und aus verschiedenen Diagrammtypen und Zusammenfassungen auswählen. Sie können auch benutzerdefinierte Farben, Datenlabels und Titel auswählen.

Die Notebook-Galerie ist ein zentraler Hub zum Suchen und Verwenden vordefinierter Notebook-Vorlagen. Sie enthält grundlegende Vorlagen für SQL, Python, Apache Spark und DataFrames, mit denen Sie gängige Aufgaben wie Datenvorbereitung, ‑analyse und ‑visualisierung ausführen können.

Laufzeitverwaltung und Sicherheit

Notebooks verwenden Colab Enterprise-Laufzeiten. Das sind virtuelle Compute Engine-Maschinen, die einem bestimmten Nutzer zugewiesen sind, um die Codeausführung zu ermöglichen. Der Zugriff auf Notebooks wird über IAM-Rollen gesteuert. Wenn Sie Sicherheitslücken in den Python-Paketen erkennen möchten, die in Ihren Notebooks verwendet werden, können Sie den Notebook Security Scanner installieren und verwenden.

Monitoring und Regionen

Alle Code-Assets in BigQuery Studio werden in einer Standardregion gespeichert. Wenn Sie diese Einstellung aktualisieren, wird die Region für alle neu erstellten Code-Assets geändert. Colab Enterprise-Notebooks sind in allen Regionen verfügbar, in denen BigQuery Studio verfügbar ist.

Wenn Sie die Slot-Nutzung von Notebooks überwachen möchten, können Sie Ihren Cloud Billing-Abrechnungsbericht aufrufen und einen Filter für das Label goog-bq-feature-type mit dem Wert BQ_STUDIO_NOTEBOOK anwenden.

Notebook-Funktionen sind nur in der Google Cloud Console verfügbar.

Preise

Preisinformationen zu Colab Enterprise-Notebooks finden Sie unter Preise für Notebook-Laufzeiten.

BigQuery DataFrames

BigQuery DataFrames besteht aus einer Reihe von Open-Source-Python-Bibliotheken, mit denen Sie die BigQuery-Datenverarbeitung mithilfe vertrauter Python APIs nutzen können. BigQuery DataFrames implementiert die pandas- und scikit-learn-APIs, indem die Verarbeitung durch SQL-Konvertierung an BigQuery übertragen wird. Mit diesem Design können Sie BigQuery verwenden, um Terabyte an Daten zu untersuchen und zu verarbeiten und um ML-Modelle zu trainieren – alles mit Python APIs.

BigQuery DataFrames bietet folgende Vorteile:

  • Mehr als 750 Pandas- und Scikit-Learn-APIs, die durch eine transparente SQL-Konvertierung in BigQuery- und BigQuery ML-APIs implementiert werden.
  • Verzögerte Ausführung von Abfragen für verbesserte Leistung.
  • Datentransformationen mit benutzerdefinierten Python-Funktionen erweitern, um Daten in der Cloud zu verarbeiten. Diese Funktionen werden automatisch als BigQuery-Remote-Funktionen bereitgestellt.
  • Einbindung in die Gemini Enterprise Agent Platform, damit Sie Gemini-Modelle für die Textgenerierung verwenden können.

Andere Lösungen für programmatische Analysen

Zusätzlich zu Colab Enterprise und BigQuery DataFrames lässt sich BigQuery in mehrere andere programmatische Lösungen einbinden:

  • Jupyter Notebooks und JupyterLab: Sie können direkt über Jupyter Notebooks mit BigQuery interagieren. Verwenden Sie dazu magische IPython-Befehle für BigQuery oder BigQuery-Clientbibliotheken. Sie können Ihre Umgebungen in Google Cloud mit Vertex AI Workbench-Instanzen oder Managed Service for Apache Spark bereitstellen.
  • Apache Zeppelin: Sie können webbasierte Apache Zeppelin-Notebooks für die Datenanalyse bereitstellen, indem Sie die optionale Zeppelin-Komponente in Managed Service for Apache Spark installieren.
  • Apache Hadoop, Spark und Hive: Managed Service for Apache Spark lässt sich in Open-Source-BigQuery-Connectors einbinden. Diese Connectors verwenden die BigQuery Storage API, um Daten direkt von BigQuery über gRPC parallel zu streamen.
  • Apache Beam und Dataflow: Apache Beam ist ein Open-Source-Framework, das eine Vielzahl von Windowing- und Sitzungsanalyse-Primitiven sowie ein Ökosystem von Connectors bietet, darunter einen für BigQuery. Dataflow ist ein vollständig verwalteter Dienst, mit dem Sie diese Apache Beam-Jobs in großem Maßstab ausführen können.

Andere Ressourcen

BigQuery bietet mehrere Clientbibliotheken in Sprachen wie Java, Go, Python, JavaScript, PHP und Ruby. Bestimmte Datenanalyse-Frameworks wie pandas bieten Plug-ins für die direkte Interaktion mit BigQuery. Für diejenigen, die Shell-Umgebungen bevorzugen, ist das bq-Befehlszeilentool verfügbar.