Änderungen an der Snowpark-API

Dieses Thema fasst die Änderungen zusammen, die an der Snowpark-API vorgenommen wurden.

Unter diesem Thema:

Version 0.6.0

Version 0.6.0 der Snowpark-Bibliothek führt einige API-Änderungen, neue Funktionen, Verbesserungen und Fehlerkorrekturen ein.

API-Änderungen

Ab diesem Release benötigen die folgenden Methoden in RelationalGroupedDataFrame nun ein Argument:

  • avg

  • max

  • median

  • min

  • sum

Wenn Sie in früheren Releases diese Methoden ohne ein Argument aufriefen, wurden die Methoden auf alle numerischen Spalten im DataFrame angewendet. Beispielsweise war für ein DataFrame df mit den Spalten (a int, b string, c float) der Aufruf von df.groupBy("a").max() äquivalent zum Aufruf von df.groupBy("a").max(col("a"), col("c")).

Ab diesem Release führt der Aufruf dieser Methoden ohne ein Argument zu einer SnowparkClientException.

Version 0.5.0

Die Version 0.5.0 der Snowpark-Bibliothek enthält einige neue Funktionen, Verbesserungen und Fehlerkorrekturen.

Neue Funktionen

  • Die Methode DataFrame.show() wurde ein Parameter maxWidth hinzugefügt. Mit diesem Parameter können Sie die Anzahl der Zeichen einstellen, die in der Ausgabe für jede Spalte gedruckt werden.

  • Methode Session.cancelAll() wurde hinzugefügt, mit der Sie alle laufenden Aktionen in dieser Sitzung abbrechen können.

  • Methode DataFrame.toLocalIterator() wurde hinzugefügt, die einen Iterator zurückgibt, mit dem Sie Daten zeilenweise abrufen können. Sie können dies anstelle von DataFrame.collect() verwenden, wenn Sie nicht alle Daten auf einmal in den Speicher laden möchten.

  • Die Methode median wurde zur Klasse RelationalGroupedDataFrame hinzugefügt.

Verbesserungen

  • Die Fehlermeldung, die zurückgegeben wird, wenn ein Bezeichner ungültig ist, wurde verbessert.

  • Die Fehlerprüfung wurde verbessert, um einen Fehler zu melden, wenn kein Datenbank- oder Schemaname angegeben ist.

  • Es wurde eine Leistungsverbesserung beim Einfügen einer großen Anzahl von Werten in eine Tabelle hinzugefügt.

  • Die Bibliothek wurde aktualisiert, um Snowflake-Objektbezeichner (Namen von Tabellen und Ansichten) konsistent zu behandeln. Jetzt unterstützen alle Parameter, die Namen von Tabellen oder Ansichten angeben, die Verwendung von:

    • Kurze Namen (z. B. table_name und view_name)

    • Vollqualifizierte Namen (z. B. database.schema.table_name)

    • Mehrteilige Bezeichner (z. B. Seq("database", "schema", "view_name"))

  • Es wurde eine Prüfung hinzugefügt, um sicherzustellen, dass die unterstützte Version von Scala verwendet wird. Die Bibliothek meldet einen Fehler, wenn die Scala-Version nicht kompatibel ist.

Fehlerkorrekturen

  • Problem mit der Registrierung von UDFs unter Microsoft Windows wurde behoben.

  • Problem mit der Reihenfolge der Ergebnisse bei Verwendung von DataFrame.sort() mit DataFrame.limit() wurde behoben.

  • Problem mit Session.range() wurde behoben, um eine Nummernsequenz ohne Lücken zu generieren.

Version 0.4.1

Ab dieser Version sind für Snowpark-Objekte keine Angaben zum temporären Schema oder zur temporären Datenbank mehr erforderlich (die Einstellungen TEMP_SCHEMA und TEMP_DB). Die Snowpark-Bibliothek erstellt automatisch temporäre Versionen der benötigten Objekte.

Darüber hinaus werden mit dieser Version die in den nächsten Abschnitten aufgeführten API-Änderungen eingeführt.

API-Änderungen

  • Die Methode DataFrame.cache() wird durch die Methode DataFrame.cacheResult() ersetzt.

    Die neue Methode erstellt mit den zwischengespeicherten Ergebnissen einen neuen DataFrame und gibt diesen zurück, ohne dass dies Einfluss auf den aktuellen DataFrame hat. Als Ergebnis dieser Änderung ist das DataFrame-Objekt nun unveränderlich.

Neue APIs

Fehlerkorrekturen

  • Problem mit Anführungszeichen in DataFrame-Spaltennamen wurde behoben.

  • Problem behoben, bei dem Daten, die Backslashes, einfache Anführungszeichen und Zeilenumbruchzeichen enthalten, nicht entschlüsselt werden konnten.

  • Problem behoben, bei dem die UDF-Erstellung mit der Fehlermeldung „code too large“ (Code zu lang) fehlschlägt.

  • Problem behoben, bei dem die UDF-Closure den Wert einer lokalen Zeichenfolgenvariablen nicht erfassen konnte.

  • Für die folgenden SQL-Klauseln wurde ein Ergebnisschema hinzugefügt:

    • GRANT/REVOKE

    • DESCRIBE

    • CREATE

    • USE

  • Problem beim Erstellen einer UDF unter Verwendung von Snowpark in Visual Studio Code mit der Metals-Erweiterung behoben.