Entwicklung von Anwendungen und Erweiterungen

Sie können Anwendungen schreiben, die Snowflake erweitern, als Client dienen oder als integrierende Komponente fungieren.

Daten über Snowpark-API abfragen und verarbeiten

Mithilfe der Snowpark-APIs in Java, Python oder Scala können Sie Anwendungen erstellen, die Daten in Snowflake verarbeiten, ohne dass sie in das System, das Ihren Anwendungscode ausführt, verschoben werden müssen.

Snowpark bietet folgende Möglichkeiten:

  • Erstellen von Anwendungen, Pipelines und Verarbeitungslogik, die in Java, Python oder Scala definiert sind

  • Erstellen von Datenanweisungen mithilfe von Bibliotheken, die sich nativ in die unterstützten Sprachen integrieren lassen

  • Verringern des Aufwands für die Übertragung von Daten zu und von Snowflake während der Verarbeitung der Daten

  • Schreiben von benutzerdefinierten Funktionen (UDFs) in Java, Python oder Scala. Snowflake generiert den erforderlichen SQL-Code im Hintergrund.

Eine Snowpark-Übersicht finden Sie unter Snowpark-API.

Entwicklerhandbücher

Benutzerhandbuch

Beschreibung

Eine Anleitung und Referenz zum Schreiben von Snowpark-Code in Java.

Eine Anleitung und Referenz zum Schreiben von Snowpark-Code in Python.

Eine Anleitung und Referenz zum Schreiben von Snowpark-Code in Scala.

Protokollierung von Meldungen aus Funktionen und Prozeduren

Eine Anleitung zum Schreiben von Code zum Erfassen von in einer Ereignistabelle gespeicherten Protokollmeldungen.

Ablaufverfolgungsereignisse von Funktionen und Prozeduren

Eine Anleitung zum Schreiben von Code zum Erfassen von in einer Ereignistabelle gespeicherten Ablaufverfolgungsdaten.

Quickstarts

Sie können die folgenden Quickstart-Tutorials nutzen, um eine praktische Einführung in Snowpark zu erhalten.

Snowpark-ML

Snowpark ML ist eine Python-Bibliothek in Snowflake für maschinelles Lernen und Data Science, einschließlich Vorverarbeitung, Modellierung, Modellverwaltung und Datenerfassung. Es verwendet Snowpark Python, sodass Sie Snowpark-DataFrames für Trainings- und Testdaten verwenden können.

Snowflake um Prozeduren, benutzerdefinierte Funktionen (UDFs) und externe Funktionen erweitern

Sie können Snowflake verbessern und erweitern, indem Sie Prozeduren, benutzerdefinierte Funktionen (UDFs) und externe Funktionen schreiben.

  • Mit einer Prozedur können Sie geplante oder bedarfsgesteuerte Operationen durch die Ausführung von Code oder SQL-Anweisungen durchführen. Die Logik schreiben Sie in einer der unterstützten Programmiersprachen.

  • Mit einer benutzerdefinierten Funktion (UDF) können Sie eine Logik zur Berechnung und Rückgabe von Daten ausführen. UDFs sind nützlich für die Batchverarbeitung und die Integration von kundenspezifischer Logik in SQL. Die Logik schreiben Sie in einer der unterstützten Programmiersprachen.

  • Mit einer externen Funktion können Sie eine Integration zwischen Snowflake und kundenspezifischem Code, der außerhalb von Snowflake ausgeführt wird, einrichten und dann den kundenspezifischen Code wie eine benutzerdefinierte Funktion (UDF) verwenden.

Weitere Informationen zur Auswahl zwischen diesen beiden Optionen finden Sie unter Entscheidung über das Schreiben einer gespeicherten Prozedur oder einer benutzerdefinierten Funktion.

Entwicklerhandbücher

Benutzerhandbuch

Beschreibung

Übersicht zu gespeicherten Prozeduren

Anleitung zum Schreiben von gespeicherten Prozeduren einschließlich Schreiben von Handlern in den unterstützten Sprachen.

Übersicht zu benutzerdefinierten Funktionen

Anleitung zum Schreiben von UDFs, einschließlich der Anleitung zum Schreiben von Handlern in den unterstützten Sprachen.

Richtlinien und Einschränkungen beim Entwurf von Funktionen und Prozeduren

Allgemeine Richtlinien bezüglich Sicherheit, Konventionen und mehr.

Packen des Handler-Codes

Informationen zum Erstellen von Handler-Code, den in einem Stagingbereich gespeichert wird.

Schreiben von externen Funktionen

Anleitung zum Schreiben externer Funktionen, mit denen Sie Code auf anderen Systemen aufrufen können.

Protokollierung von Meldungen aus Funktionen und Prozeduren

Eine Anleitung zum Schreiben von Code zum Erfassen Protokollmeldungen, die in einer Ereignistabelle gespeichert sind.

Ablaufverfolgungsereignisse von Funktionen und Prozeduren

Eine Anleitung zum Schreiben von Code zum Erfassen von Ablaufverfolgungsdaten, die in einer Ereignistabelle gespeichert sind.

Client-App mit Treibern und APIs erstellen

Sie können Snowflake-Operationen in eine Client-App integrieren. Neben der Snowpark-API können Sie auch sprach- und plattformspezifische Treiber verwenden.

Treiber

Treiber bieten die Möglichkeiten, Ihren Code oder Ihre Anwendung mit Snowflake zu verbinden. Mit Sprachen wie Go, C# und Python können Sie Anwendungen schreiben, mit denen sich Operationen auf Snowflake ausführen lassen. Spezifische Informationen zu den einzelnen Treibern, die Sie für den Zugriff auf Snowflake verwenden können, finden Sie in den folgenden Abschnitten.

RESTful-API

Mit der Snowflake RESTful-SQL-API können Sie über HTTPS und REST auf Daten zugreifen und diese aktualisieren. Sie können zum Beispiel SQL-Anweisungen übermitteln, gespeicherte Prozeduren erstellen und ausführen, Benutzer bereitstellen usw.

Mithilfe der SQL-REST-API übermitteln Sie eine SQL-Anweisung zur Ausführung im Textteil (Body) einer POST-Anforderung. Anschließend überprüfen Sie den Ausführungsstatus und rufen die Ergebnisse mit GET-Anforderungen ab.

Das SQL-REST-API-Entwicklerhandbuch finden Sie unter Snowflake SQL-REST-API.

Integration in andere Systeme

Snowflake bietet Konnektoren mit APIs für die Integration in Systeme außerhalb von Snowflake. Weitere Informationen dazu finden Sie in den unten stehenden Entwicklerhandbüchern.

Entwicklerhandbücher

Konnektor

Beschreibung

Snowflake-Konnektor für Kafka

Apache Kafka ist eine Event-Streaming-Plattform. Mit diesem Konnektor können Ereignisse von Kafka an Snowflake zur Datenerfassung gesendet werden.

Snowflake-Konnektor für Spark

Apache Spark ist eine Analyse-Engine für die Verarbeitung großer Datenmengen. Der Spark-Konnektor kann in Spark-Workloads integriert werden, um mehr Daten direkt auf Snowflake zu verarbeiten, den Datentransfer zu reduzieren und die Performance deutlich zu verbessern.

Sie können Snowflake auch in viele andere Systeme integrieren, um z. B. Daten auszutauschen, Analysen mithilfe von Machine Learning auszuführen, die Sicherheit zu verbessern und vieles mehr. Weitere Informationen zur Integration von Snowflake in derartige Systeme finden Sie unter Snowflake-Ökosystem.

Unterstützte Sprachen

Snowflake unterstützt mehrere Sprachen zum Erstellen von Anwendungen und Erweiterungen. In der folgenden Tabelle sind die Sprachen aufgeführt, die in Snowflake unterstützt werden, sowie die Features, die Sie mit den einzelnen Sprachen erstellen können.

Sprache

Snowflake-Feature

Java

Sie können Folgendes tun:

JavaScript

Sie können Folgendes tun:

PHP

Sie können Folgendes tun:

Python

Sie können Folgendes tun:

Scala

Sie können Folgendes tun:

Snowflake Scripting

Sie können Folgendes tun:

  • Verwenden von prozeduralen Konstrukten in SQL, z. B. in Prozeduren.

SQL

Sie können Folgendes tun: