Snowpark

Die Snowpark-Bibliothek bietet eine intuitive API für die Abfrage und Verarbeitung von Daten in einer Datenpipeline. Mit dieser Bibliothek können Sie Anwendungen erstellen, die Daten in Snowflake verarbeiten, ohne dass Daten in das System verschoben werden müssen, das Ihren Anwendungscode ausführt. Snowpark unterscheidet sich von anderen Client-Bibliotheken durch mehrere spezifische Eigenschaften:

  • Die Snowpark-API bietet Programmiersprachenkonstrukte zum Erstellen von SQL-Anweisungen. Die API bietet z. B. eine select-Methode für die Angabe der Spaltennamen, die zurückgegeben werden sollen, sodass Sie nicht 'select column_name' als Zeichenfolge schreiben müssen.

    Sie können zwar weiterhin eine Zeichenfolge verwenden, um die auszuführende SQL-Anweisung zu spezifizieren, profitieren bei den von Snowpark bereitgestellten Programmiersprachenkonstrukten aber von Funktionen wie der intelligenten Codevervollständigung und Typüberprüfung.

  • Snowpark-Operationen werden im Lazy-Modus auf dem Server ausgeführt, wodurch die Menge der zwischen Ihrem Client und der Snowflake-Datenbank übertragenen Daten reduziert wird.

    Die Kernabstraktion in Snowpark ist der DataFrame, der eine Menge von Daten repräsentiert und Methoden zur Verfügung stellt, um auf diesen Daten zu operieren. In Ihrem Clientcode erstellen Sie ein DataFrame-Objekt und richten es so ein, dass es die Daten abruft, die Sie verwenden möchten (z. B. die Spalten, die die Daten enthalten, den Filter, der auf die Zeilen angewendet werden soll, usw.).

    Die Daten werden nicht zu dem Zeitpunkt abgerufen, zu dem Sie das DataFrame-Objekt konstruieren. Stattdessen können Sie, wenn Sie zum Abrufen der Daten bereit sind, eine Aktion ausführen, die die DataFrame-Objekte auswertet und die entsprechenden SQL-Anweisungen zur Ausführung an die Snowflake-Datenbank sendet.

  • Sie können in Ihrem Code benutzerdefinierte Funktionen (UDFs) erstellen, und Snowpark kann Ihren Code an den Server übertragen, wo der Code auf den Daten operieren kann.

    Sie können Funktionen in der gleichen Sprache schreiben, in der Sie Ihren Clientcode schreiben (z. B. durch Verwendung anonymer Funktionen in Scala). Um diese Funktionen für die Verarbeitung von Daten in der Snowflake-Datenbank zu verwenden, definieren Sie in Ihrem benutzerdefinierten Code benutzerdefinierte Funktionen (UDFs) und rufen diese auf.

    Snowpark überträgt den benutzerdefinierten Code für UDFs automatisch in die Snowflake-Datenbank. Wenn Sie die UDF in Ihrem Clientcode aufrufen, wird Ihr benutzerdefinierter Code auf dem Server ausgeführt (wo sich die Daten befinden). Sie brauchen die Daten nicht an Ihren Client zu übertragen, um die Funktion auf den Daten auszuführen.

Nächste Themen: