Versionshinweise zur Snowpark-Bibliothek für Python 2025

Dieser Artikel enthält die Versionshinweise für Snowpark Library for Python, einschließlich der folgenden, sofern zutreffend:

  • Verhaltensänderungen

  • Neue Features

  • Fehlerkorrekturen für Kunden

Snowflake verwendet semantische Versionierung für Snowpark Library for Python-Aktualisierungen.

Siehe Snowpark-Entwicklerhandbuch für Python für die Dokumentation.

Warnung

Da Python 3.8 sein End of Life erreicht hat, werden bei der Verwendung von snowpark-python mit Python 3.8 Ablaufwarnungen ausgelöst. Weitere Informationen dazu finden Sie unter Unterstützung der Snowflake-Python-Laufzeitumgebung. Snowpark Python 1.24.0 wird die letzte Client- und Serverversion sein, die Python 3.8 unterstützt, in Übereinstimmung mit der Richtlinie von Anaconda. Aktualisieren Sie Ihre vorhandenen Python 3.8-Objekte auf Python 3.9 oder höher.

Version 1.37.0 (18. August 2025)

Neue Features

  • Unterstützung für die folgenden functions.py-Funktionen in xpath wurde hinzugefügt:

    • xpath

    • xpath_string

    • xpath_boolean

    • xpath_int

    • xpath_float

    • xpath_double

    • xpath_long

    • xpath_short

  • Unterstützung für use_vectorized_scanner-Parameter in der Funktion Session.write_arrow() hinzugefügt.

  • DataFrame-Profiler fügt die folgenden Informationen zu jeder Abfrage hinzu: describe query time execution time und sql query text. Um diese Informationen anzuzeigen, rufen Sie session.dataframe_profiler.enable() und get_execution_profile auf einem DataFrame auf.

  • Unterstützung von DataFrame.col_ilike hinzugefügt.

  • Unterstützung von nicht blockierenden Aufrufen gespeicherter Prozeduren hinzugefügt, die AsyncJob-Objekte zurückgeben.

    • block: bool = True-Parameter zu Session.call() hinzugefügt. Wenn block=False AsyncJob zurückgibt, statt bis zur Fertigstellung zu blockieren.

    • Der Parameter block: bool = True wurde zu StoredProcedure.__call__() hinzugefügt, um asynchrone Unterstützung sowohl für benannte als auch für anonyme gespeicherte Prozeduren bereitzustellen.

    • Session.call_nowait() das äquivalent ist zu Session.call(block=False) hinzugefügt.

Fehlerkorrekturen

  • Es wurde ein Fehler in der CTE-Optimierungsphase behoben, bei dem es durch deepcopy interner Pläne zu einem sprunghaften Anstieg der Speicherauslastung kam, wenn ein DataFrame lokal mithilfe von session.create_dataframe() unter Verwendung großer Eingabedaten erstellt wurde.

  • Es wurde ein Fehler in DataFrameReader.parquet behoben, bei dem die Option ignore_case innerhalb von infer_schema_options nicht berücksichtigt wurde.

  • Es wurde ein Fehler behoben, bei dem to_pandas() ein abweichendes Format des Spaltennamens hatte, wenn das Abfrageergebnisformat auf JSON und ARROW gesetzt ist.

Veraltete Funktionen

  • pkg_resources ist veraltet.

Aktualisierungen der Abhängigkeiten

  • Abhängigkeit von protobuf<6.32 hinzugefügt

Snowpark Pandas API-Aktualisierungen

Neue Features

  • Es wurde Unterstützung für den effizienten Datentransfer zwischen Snowflake und <Ray mithilfe der Methode :codenowrap: DataFrame.set_backend hinzugefügt. Die installierte Version von modin muss mindestens 0.35.0 lauten und ray muss installiert sein.

Aktualisierungen der Abhängigkeiten

  • Die unterstützten Modin-Versionen wurden auf >=0.34.0 und <0.36.0 (was previously > = 0.33.0 und <0.35.0) aktualisiert.

  • Unterstützung für pandas 2.3 hinzugefügt, wenn die installierte Modin-Version 0.35.0 oder höher ist.

Fehlerkorrekturen

  • Es wurde ein Problem im hybriden Ausführungsmodus (Private Vorschau) behoben, bei dem pd.to_datetime und pd.to_timedelta unerwartet IndexError auslösten.

  • Es wurde ein Fehler behoben, bei dem pd.explain_switch entweder IndexError auslöste oder None zurückgab, wenn es aufgerufen wurde, bevor mögliche Switch-Operationen durchgeführt wurden.

Version 1.36.0 (5. August 2025)

Neue Features

  • Session.create_dataframe akzeptiert jetzt Schlüsselwortargumente, die beim internen Aufruf von Session.write_pandas oder Session.write_arrow weitergegeben werden, wenn ein DataFrame aus einem pandas-DataFrame oder einer pyarrow-Tabelle erstellt wird.

  • Neue APIs für AsyncJob hinzugefügt:

    • AsyncJob.is_failed() gibt einen booleschen Wert zurück, der angibt, ob ein Job fehlgeschlagen ist. Kann in Kombination mit AsyncJob.is_done() verwendet werden, um festzustellen, ob ein Job beendet und fehlerhaft ist.

    • AsyncJob.status() gibt eine Zeichenfolge zurück, die den aktuellen Abfragestatus darstellt (z. B. „RUNNING“, „SUCCESS“, „FAILED_WITH_ERROR“). Ziel ist eine detaillierte Überwachung, ohne result() aufzurufen.

  • DataFrame-Profiler wurde hinzugefügt. Rufen Sie zum Verwenden get_execution_profile() auf Ihrem gewünschten DataFrame auf. Dieser Profiler erfasst die Abfragen, die zur Auswertung eines DataFrame ausgeführt werden, sowie Statistiken zu den einzelnen Abfrageoperatoren. Derzeit eine experimentelle Funktion.

  • Unterstützung für die folgenden Funktionen in functions.py wurde hinzugefügt:

    • ai_sentiment

  • Die Schnittstelle für das experimentelle Feature context.configure_development_features wurde aktualisiert. Alle Entwicklungs-Features werden standardmäßig deaktiviert, es sei denn, sie werden vom Benutzer ausdrücklich aktiviert.

Verbesserungen

  • Verbesserungen bei der Schätzung von Hybridausführungszeilen und eine Reduzierung von Eager-Aufrufen.

  • Neue Konfigurationsvariable hinzugefügt, um die Übertragungskosten aus Snowflake bei Verwendung der hybriden Ausführung zu steuern.

  • Es wurde Unterstützung hinzugefügt, um permanente und unveränderliche UDFs/UDTFs mit DataFrame/Series/GroupBy.apply, map und transform zu erstellen, indem das Schlüsselwortargument snowflake_udf_params übergeben wird.

  • Es wurde Unterstützung für bei mapping np.unique zu DataFrame- und Series-Eingaben mithilfe von pd.unique hinzugefügt.

Fehlerkorrekturen

  • Es wurde ein Problem behoben, bei dem das Snowpark-Pandas-Plugin stets AutoSwitchBackend deaktivierte – selbst dann, wenn Benutzer es ausdrücklich programmatisch oder über Umgebungsvariablen konfiguriert hatten.

Version 1.35.0 (24. Juli 2025)

Neue Features

  • Unterstützung für die folgenden Funktionen in functions.py wurde hinzugefügt:

    • ai_embed

    • try_parse_json

Verbesserungen

  • Der Parameter query in DataFrameReader.dbapi (Private Vorschau) wurde verbessert, sodass um die Abfrage keine Klammern mehr erforderlich sind.

  • Verbesserte Fehlerbehandlung in DataFrameReader.dbapi (Private Vorschau) bei Ausnahmen, die beim Ermitteln des Schemas der Zieldatenquelle auftreten.

Fehlerkorrekturen

  • Es wurde ein Fehler in DataFrameReader.dbapi (PrivateVorschau) behoben, der in dbapi einer in Python implementierten gespeicherten Prozedur dazu führte, dass der Fehler Exit-Code 1 auftrat.

  • Es wurde ein Fehler in DataFrameReader.dbapi (Private Vorschau) behoben, bei dem custom_schema ein unzulässiges Schema akzeptierte.

  • Es wurde ein Fehler in DataFrameReader.dbapi (Private Vorschau) behoben, bei dem custom_schema beim Verbinden mit Postgres und MySQL nicht funktionierte.

  • Fehler in der Schema-Inferenz behoben, der dazu führt, dass dieser bei externen Stagingbereichen fehlschlägt.

Lokale Snowpark-Testaktualisierungen

Neue Features

  • Lokale Testunterstützung für das Lesen von Dateien mit SnowflakeFile wurde hinzugefügt. Die Testunterstützung verwendet lokale Dateipfade: Snow-URL-Semantik (snow://...), lokale Stages des Test-Frameworks sowie Snowflake-Stages (@stage/file_path).

Version 1.34.0 (14. Juli 2025)

Neue Features

  • Neue Option TRY_CAST zu DataFrameReader hinzugefügt. Wenn TRY_CAST ist True`sind, werden die Spalten in einer:code:`TRY_CAST-Anweisung anstelle eines harten Umwandelns beim Laden von Daten umschlossen.

  • Neue Option USE_RELAXED_TYPES zum INFER_SCHEMA_OPTIONS von DataFrameReader hinzugefügt. Wenn True wandelt diese Option alle Zeichenfolgen in Zeichenfolgen maximaler Länge und alle numerischen Typen in DoubleType um.

  • Verbesserungen der Debuggbarkeit hinzugefügt, um Metadaten von Datenframe-Schemas im Eager-Modus zu validieren. Aktivieren Sie es mit snowflake.snowpark.context.configure_development_features().

  • Neue Funktion snowflake.snowpark.dataframe.map_in_pandas hinzugefügt, die es Benutzern ermöglicht, eine Funktion über einen Datenframe hinweg zuzuordnen. Die Zuordnungsfunktion nimmt einen Iterator von pandas-DataFrames als Eingabe entgegen und gibt einen solchen als Ausgabe zurück.

  • ttl cache hinzugefügt, um Abfragen zu beschreiben. Wiederholte Abfragen in einem Intervall von 15 Sekunden verwenden den zwischengespeicherten Wert, anstatt Snowflake erneut abzufragen.

  • Es wurde der Parameter fetch_with_process zu DataFrameReader.dbapi (PrPr) hinzugefügt, um Multiprocessing für den parallelen Datenabruf bei der lokalen Ingestion zu aktivieren. Standardmäßig wird für die lokale Erfassung Multithreading verwendet. Multiprocessing kann die Performance von CPU-gebundenen Aufgaben, wie dem Generieren von Parquet-Dateien, verbessern.

  • Es wurde eine neue Funktion snowflake.snowpark.functions.model hinzugefügt, die es Benutzern ermöglicht, Methoden eines Modells aufzurufen.

Verbesserungen

  • Es wurde Unterstützung für die Zeilenvalidierung mithilfe des XSD-Schemas über die Option rowValidationXSDPath hinzugefügt, wenn XML-Dateien mit einem Row-Tag über die rowTag-Option gelesen werden.

  • Verbesserte SQL-Generierung für session.table().sample(), um eine flache SQL-Anweisung zu erzeugen.

  • Es wurde Unterstützung für komplexe Spaltenausdrücke als Eingabe für functions.explode hinzugefügt.

  • Es wurden Verbesserungen der Debugbarkeit hinzugefügt, die anzeigen, welchen Python-Zeilen ein SQL-Kompilierungsfehler entspricht. Aktivieren Sie es mit snowflake.snowpark.context.configure_development_features(). Dieses Feature hängt auch von AST-Sammlungen ab, die in der Sitzung aktiviert werden sollen- Dies können Sie mit session.ast_enabled = True erledigen.

  • Legen Sie enforce_ordering=True beim Aufrufen von to_snowpark_pandas():code: von einem Snowpark DataFrame fest, der DML/DDL-Abfragen enthält und keinen NotImplementedError-Fehler auslöst.

Fehlerkorrekturen

  • Es wurde ein Fehler behoben, der durch redundante Validierung beim Erstellen einer Iceberg-Tabelle verursacht wurde.

  • Es wurde ein Fehler in DataFrameReader.dbapi (Private Vorschau) behoben, bei dem das Schließen des Cursors oder der Verbindung unerwartet einen Fehler auslösen und zum Programmabbruch führen konnte.

  • Es wurden Fehler aufgrund mehrdeutiger Spalten behoben, die beim Verwenden von Tabellenfunktionen in DataFrame.select() auftraten, wenn die Ausgabespalten mit den Spalten des Eingabe-DataFrames übereinstimmten. Diese Verbesserung funktioniert, wenn DataFrame-Spalten als Column-Objekte bereitgestellt werden.

  • Es wurde ein Fehler behoben, bei dem das Vorhandensein einer NULL in einer Spalte mit DecimalTypes die Spalte stattdessen in FloatTypes konvertierte und zu Genauigkeitsverlust führte.

Lokale Snowpark-Testaktualisierungen

  • Korrektur eines Fehlers bei der Verarbeitung von fensterbasierten Funktionen, der zu einer falschen Indizierung in den Ergebnissen führte.

  • Wenn ein numerischer Skalar an fillna übergeben wird, ignoriert Snowflake nicht numerische Spalten, anstatt einen Fehler auszugeben.

Snowpark Pandas API-Aktualisierungen

Neue Features

  • Unterstützung für DataFrame.to_excel und Series.to_excel hinzugefügt.

  • Unterstützung für pd.read_feather, pd.read_orc und pd.read_stata hinzugefügt.

  • Es wurde Unterstützung für pd.explain_switch() hinzugefügt, um Debugging-Informationen zu Entscheidungen der hybriden Ausführung zurückzugeben

  • Unterstützt pd.read_snowflake, wenn das globale Modin-Backend Pandas ist.

  • Unterstützung für pd.to_dynamic_table, pd.to_iceberg und pd.to_view hinzugefügt.

Verbesserungen

  • Modin-Telemetrie für API-Aufrufe und Hybrid-Engine-Switches hinzugefügt.

  • Zeigen Sie Snowflake-Notebook-Benutzern hilfreichere Fehlermeldungen an, wenn die modin- oder pandas-Version nicht unseren Anforderungen entspricht.

  • Datentypschutz zu den Kostenfunktionen für den hybriden Ausführungsmodus (Private Vorschau) hinzugefügt, der die Datentypkompatibilität prüft.

  • Für viele Methoden, die nicht direkt in pandas on Snowflake implementiert sind, wurde ein automatischer Wechsel zum pandas-Backend im hybriden Ausführungsmodus (Private Vorschau) hinzugefügt.

  • Stellen Sie den type und andere Standardfelder für pandas on Snowflake-Telemetrie ein.

Aktualisierungen der Abhängigkeiten

  • Es wurden tqdm und ipywidgets als Abhängigkeiten hinzugefügt, damit Fortschrittsbalken erscheinen, wenn der Benutzer zwischen Modin-Backends wechselt.

  • Unterstützte modin-Versionen auf >=0.33.0 und <0.35.0 (was previously >= 0.32.0 und <0.34.0) aktualisiert.

Fehlerkorrekturen

  • Es wurde ein Fehler im Hybridausführungsmodus (Private Vorschau) behoben, bei dem bestimmte Serienoperationen einen TypeError: numpy.ndarray object is not callable-Fehler auslösten.

  • Es wurde ein Fehler im hybriden Ausführungsmodus (Private Vorschau) behoben, bei dem das Aufrufen von numpy-Operationen wie np.where auf Modin-Objekten mit dem Pandas-Backend einen AttributeError auslöste. Diese Korrektur erfordert modin-Version 0.34.0 oder höher.

  • Es wurde ein Problem in df.melt behoben, bei dem den Ergebniswerten fälschlicherweise ein zusätzliches Suffix angehängt wurde.

Version 1.33.0 (19.06.2025)

Neue Features

  • Es wurde Unterstützung hinzugefügt für MySQL in DataFrameWriter.dbapi (Private Vorschau) für Parquet- und UDTF-basierte Datenaufnahme.

  • Es wurde Unterstützung hinzugefügt für PostgreSQL in DataFrameReader.dbapi (Private Vorschau) für Parquet- und UDTF-basierte Datenaufnahme.

  • Es wurde Unterstützung hinzugefügt in DataFrameWriter.dbapi (Private Vorschau) für UDTF-basierte Datenaufnahme, konsolidiert mit anderen Erwähnungen von Databricks-Unterstützung.

  • Es wurde Unterstützung hinzugefügt zu DataFrameReader, um die Verwendung von PATTERN beim Lesen von Dateien mit INFER_SCHEMA zu aktivieren.

  • Es wurde Unterstützung für die folgenden AI-getriebenen Funktionen in functions.py hinzugefügt:

    • ai_complete

    • ai_similarity

    • ai_summarize_agg (ursprünglich summarize_agg)

    • Verschiedene Konfigurationsoptionen für ai_classify

  • Es wurde Unterstützung für weitere Optionen beim Lesen von XML-Dateien mit einem Zeilen-Tag mit der Option rowTag hinzugefügt:

    • Es wurde Unterstützung für das Entfernen von Namespace-Präfixen aus Spaltennamen mit der Option ignoreNamespace hinzugefügt.

    • Es wurde Unterstützung für die Angabe des Präfixes für die Attributspalte in der Ergebnistabelle mit der Option :code:`attributePrefix`hinzugefügt.

    • Es wurde Unterstützung für den Ausschluss von Attributen aus dem XML-Element mit der Option excludeAttributes hinzugefügt.

    • Es wurde Unterstützung für die Angabe des Spaltennamens für den Wert hinzugefügt, wenn es Attribute in einem Element gibt, das keine untergeordneten Elemente mit der Option valueTag hat.

    • Es wurde Unterstützung für die Angabe des Wertes hinzugefügt, der als Nullwert behandelt werden soll, unter Verwendung der Option nullValue.

    • Es wurde Unterstützung für die Angabe der Zeichencodierung der XML-Datei mit der Option charset hinzugefügt.

    • Es wurde Unterstützung für das Ignorieren von umgebenden Leerzeichen im XML-Element mit der Option ignoreSurroundingWhitespace hinzugefügt.

  • Es wurde Unterstützung für den Parameter return_dataframe in Session.call hinzugefügt, mit dem der Rückgabetyp der Funktionen auf ein DataFrame-Objekt festgelegt werden kann.

  • Es wurde ein neues Argument für Dataframe.describe hinzugefügt, namens strings_include_math_stats, das die Berechnung von stddev und mean für String-Spalten auslöst.

  • Es wurde Unterstützung hinzugefügt für das Abrufen von Edge.properties beim Abrufen der Herkunft von DGQL in DataFrame.lineage.trace.

  • Es wurde ein Parameter table_exists zu DataFrameWriter.save_as_table hinzugefügt, mit dem angegeben werden kann, ob bereits eine Tabelle besteht. Dadurch kann eine Tabellensuche übersprungen werden, die teuer sein kann.

Fehlerkorrekturen

  • Es wurde ein Fehler in DataFrameReader.dbapi (Private Preview) behoben, bei dem eine als lokale Funktion definierte create_connection nicht mit Multiprocessing kompatibel war.

  • Es wurde ein Fehler in DataFrameReader.dbapi (Private Preview) behoben, bei dem der Databricks-Typ TIMESTAMP fälschlicherweise in den Snowflake-Typ TIMESTAMP_NTZ konvertiert wurde; korrekt wäre der Typ TIMESTAMP_LTZ gewesen.

  • Es wurde ein Fehler behoben in DataFrameReader.json, bei dem wiederholtes Lesen mit demselben Leserobjekt Spalten mit falschen Anführungszeichen erzeugen würde.

  • Es wurde ein Fehler in DataFrame.to_pandas() behoben, der beim Konvertieren eines DataFrames, der nicht aus einer SELECT-Anweisung stammte, die Spaltennamen entfernte.

  • Es wurde ein Fehler behoben, bei dem DataFrame.create_or_replace_dynamic_table einen Fehler auslöste, wenn DataFrame einen UDTF und SELECT * in UDTF enthielt und nicht korrekt geparst wurde.

  • Es wurde ein Fehler behoben, bei dem umgewandelte Spalten nicht in der Werte-Klausel von Funktionen verwendet werden konnten.

Verbesserungen

  • Die Fehlermeldung für Session.write_pandas() und Session.create_dataframe() wurde verbessert, wenn der Eingabe-pandas-DataFrame keine Spalte enthält.

  • DataFrame.select wurde verbessert, wenn die Argumente eine Tabellenfunktion mit Ausgabespalten enthalten, die mit Spalten des aktuellen DataFrame kollidieren. Mit dieser Verbesserung löst die vom Snowpark-Client generierte Abfrage keinen Fehler aufgrund mehrdeutiger Spalten mehr aus, wenn der Benutzer in df.select("col1", "col2", table_func(...)) nicht kollidierende Spalten als String-Argumente angibt.

  • DataFrameReader.dbapi (Private Vorschau) wurde dahingehend verbessert, dass eine Parquet-basierte In-Memory-Ingestion verwendet wird, um Leistung und Sicherheit zu verbessern.

  • DataFrameReader.dbapi (Private Vorschau) wurde dahingehend verbessert, um:code:MATCH_BY_COLUMN_NAME=CASE_SENSITIVE beim Kopieren in die Tabelle zu verwenden.

Lokale Snowpark-Testaktualisierungen

Neue Features

  • Es wurde Unterstützung für Snow-URLs (snow://) beim Testen lokaler Dateien hinzugefügt.

Fehlerkorrekturen

  • Es wurde ein Fehler in Column.isin behoben, der zu falschem Filtern von verknüpften oder zuvor gefilterten Dateien führte.

  • Es wurde ein Fehler in snowflake.snowpark.functions.concat_ws behoben, der dazu führte, dass die Ergebnisse einen falschen Index haben.

Snowpark Pandas API-Aktualisierungen

Aktualisierungen der Abhängigkeiten

  • Die Abhängigkeitsbeschränkung für modin wurde von 0.32.0 auf >=0.32.0, <0.34.0 aktualisiert. Die neueste mit Snowpark pandas getestete Version ist modin 0.33.1.

Neue Features

  • Es wurde Unterstützung für Hybride Ausführung (Private Vorschau) hinzugefügt. Durch Ausführen von :code:`from modin.config import AutoSwitchBackend; AutoSwitchBackend.enable()`entscheiden pandas on Snowflake automatisch, ob bestimmte pandas-Operationen lokal oder auf Snowflake ausgeführt werden sollen. Dieses Feature ist standardmäßig deaktiviert.

Verbesserungen

  • Legen Sie den Standardwert des index-Parameters auf False fest für DataFrame.to_view, Series.to_view, DataFrame.to_dynamic_table und Series.to_dynamic_table.

  • Es wurde die Option iceberg_version für Tabellenerstellungsfunktionen hinzugefügt.

  • Die Anzahl der Abfragen wurde für viele Operationen reduziert, darunter insert, repr, und groupby die zuvor eine Abfrage abgesetzt hatten, um die Größe der Eingabedaten zu ermitteln.

Fehlerkorrekturen

  • Es wurde ein Fehler behoben in Series.where, wenn der Parameter other eine nicht benannte Series ist.

Version 1.32.0 (2025-05-15)

Verbesserungen

  • Der Aufruf von Snowflake-Systemprozeduren führt nicht zu einem zusätzlichen Aufruf von describe procedure, um den Rückgabetyp der Prozedur zu überprüfen.

  • Unterstützung für Session.create_dataframe() mit deder Stage-URL und dem Datentyp FILE wurde hinzugefügt.

  • Unterstützung für verschiedene Modi zum Umgang mit beschädigten XML-Datensätzen beim Lesen einer XML Datei mit session.read.option('mode', <mode>), option('rowTag', <tag_name>).xml(<stage_file_path>). Derzeit wird PERMISSIVE, DROPMALFORMED und FAILFAST unterstützt.

  • Die Fehlermeldung des XML-Readers wurde verbessert, wenn die angegebene ROWTAG nicht in der Datei gefunden wird.

  • Die Erstellung von Abfragen für Dataframe.drop wurde verbessert, um SELECT * EXCLUDE () zu verwenden, um die ausgelassenen Spalten auszuschließen. Um dieses Feature zu aktivieren, stellen Sie session.conf.set("use_simplified_query_generation", True) ein.

  • Unterstützung für VariantType wurde zu StructType.from_json hinzugefügt.

Fehlerkorrekturen

  • Es wurde ein Fehler in DataFrameWriter.dbapi (Private Vorschau) behoben, bei dem Spaltennamen in Unicode- oder doppelten Anführungszeichen in externen Datenbanken zu Fehlern führten, weil sie nicht korrekt in Anführungszeichen gesetzt wurden.

  • Es wurde ein Fehler behoben, bei dem benannte Felder in verschachtelten OBJECT-Daten Fehler verursachen konnten, wenn sie Leerzeichen enthielten.

Lokale Snowpark-Testaktualisierungen

Fehlerkorrekturen

  • Ein Fehler in snowflake.snowpark.functions.rank wurde behoben, bei dem die Sortierrichtung nicht beachtet wurde.

  • Es wurde ein Fehler in snowflake.snowpark.functions.to_timestamp_* behoben, der bei gefilterten Daten zu falschen Ergebnissen führte.

Snowpark Pandas API-Aktualisierungen

Neue Features

  • Unterstützung für dict-Werte in Series.str.get, Series.str.slice und Series.str.__getitem__ hinzugefügt (Series.str[...]).

  • Unterstützung von DataFrame.to_html hinzugefügt.

  • Unterstützung für DataFrame.to_string und Series.to_string hinzugefügt.

  • Unterstützung für das Lesen von Dateien aus S3-Buckets mit pd.read_csv wurde hinzugefügt.

Verbesserungen

  • Machen Sie iceberg_config zu einem erforderlichen Parameter für DataFrame.to_iceberg und Series.to_iceberg.

Version 1.31.0 (2025-04-24)

Neue Features

  • Unterstützung für die Erlaubnis restricted caller des Arguments execute_as in StoredProcedure.register():code: hinzugefügt.

  • Unterstützung für Nicht-Select-Anweisungen in DataFrame.to_pandas() wurde hinzugefügt.

  • Unterstützung für den Parameter artifact_repository wurde zu Session.add_packages, Session.add_requirements, Session.get_packages, Session.remove_package und Session.clear_packages hinzugefügt.

  • Unterstützung für das Lesen einer XML-Datei unter Verwendung eines Zeilen-Tags durch session.read.option('rowTag', <tag_name>).xml(<stage_file_path>) (experimentell) hinzugefügt.

    • Jeder XML-Datensatz wird als eine separate Zeile extrahiert.

    • Jedes Feld innerhalb dieses Datensatzes wird zu einer separaten Spalte des Typs VARIANT, die unter Verwendung der Punktnotation weiter abgefragt werden kann, z. B. col(a.b.c).

  • Aktualisierungen zu DataFrameReader.dbapi (PrPr) hinzugefügt:

    • Der Parameter fetch_merge_count wurde hinzugefügt, um die Leistung zu optimieren, indem mehrere abgerufene Daten in einer einzigen Parquet-Datei zusammengeführt werden.

    • Unterstützung für Databricks wurde hinzugefügt.

    • Unterstützung für das Einlesen mit Snowflake UDTF wurde hinzugefügt.

  • Unterstützung für die folgenden AI-fähigen Funktionen in functions.py (Private Vorschau) hinzugefügt:

    • prompt

    • ai_filter (Unterstützung für die Funktion prompt() und Bilddateien hinzugefügt und den Namen des zweiten Arguments von expr in file geändert)

    • ai_classify

Verbesserungen

  • Benennen Sie den Parameter relaxed_ordering in enforce_ordering für DataFrame.to_snowpark_pandas um. Außerdem lautet der neue Standardwert enforce_ordering=False, was den gegenteiligen Effekt des vorherigen Standardwerts, relaxed_ordering=False, hat.

  • Die Leseleistung von DataFrameReader.dbapi (PrPr) wurde verbessert, indem der Standardwert des Parameters fetch_size auf 1000 gesetzt wurde.

  • Verbessern Sie die Fehlermeldung für Fehler durch ungültige Bezeichner-SQL, indem Sie die potenziell passenden Bezeichner vorschlagen.

  • Die Anzahl der Abfragen zur Beschreibung beim Erstellen eines DataFrame aus einer Snowflake-Tabelle mit session.table wurde reduziert.

  • Verbesserte Leistung und Genauigkeit von DataFrameAnalyticsFunctions.time_series_agg().

Fehlerkorrekturen

  • Ein Fehler in DataFrame.group_by().pivot().agg wurde behoben, wenn die Pivotspalte und die aggregierte Spalte identisch sind.

  • Ein Fehler in DataFrameReader.dbapi (PrPr) wurde behoben, bei dem ein TypeError ausgelöst wurde, wenn create_connection ein Verbindungsobjekt eines nicht unterstützten Treibers zurückgab.

  • Es wurde ein Fehler behoben, bei dem der Aufruf von df.limit(0) nicht korrekt angewendet wurde.

  • Es wurde ein Fehler in DataFrameWriter.save_as_table behoben, der dazu führte, dass reservierte Namen bei der Verwendung des Anfügemodus zu Fehlern führten.

Veraltete Funktionen

  • Veraltete Unterstützung für Python 3.8.

  • Veraltetes Argument sliding_interval in DataFrameAnalyticsFunctions.time_series_agg().

Lokale Snowpark-Testaktualisierungen

Neue Features

  • Unterstützung für Intervall-Ausdrücke zu Window.range_between hinzugefügt.

  • Unterstützung für die Funktion array_construct wurde hinzugefügt.

Fehlerkorrekturen

  • Es wurde ein Fehler beim lokalen Testen behoben, bei dem das transiente Verzeichnis __pycache__ während der Ausführung einer gespeicherten Prozedur über den Import unbeabsichtigt kopiert wurde.

  • Es wurde ein Fehler beim lokalen Testen behoben, der zu einem falschen Ergebnis bei Aufrufen von Column.like führte.

  • Beim lokalen Testen wurde ein Fehler behoben, der dazu führte, dass Column.getItem und snowpark.snowflake.functions.get IndexError auslösten, anstatt null zurückzugeben.

  • Beim lokalen Testen wurde ein Fehler behoben, bei dem der Aufruf von df.limit(0) nicht korrekt angewendet wurde.

  • Beim lokalen Testen wurde ein Fehler behoben, bei dem Table.merge in einer leeren Tabelle eine Ausnahme verursachte.

Snowpark Pandas API-Aktualisierungen

Aktualisierungen der Abhängigkeiten

  • modin von 0.30.1 auf 0.32.0 aktualisiert.

  • Unterstützung für numpy 2.0 und höher wurde hinzugefügt.

Neue Features

  • Unterstützung für DataFrame.create_or_replace_view und Series.create_or_replace_view hinzugefügt.

  • Unterstützung für DataFrame.create_or_replace_dynamic_table und Series.create_or_replace_dynamic_table hinzugefügt.

  • Unterstützung für DataFrame.to_view und Series.to_view hinzugefügt.

  • Unterstützung für DataFrame.to_dynamic_table und Series.to_dynamic_table hinzugefügt.

  • Unterstützung für DataFrame.groupby.resample für die Aggregationen max, mean, median, min und sum wurde hinzugefügt.

  • Unterstützung für das Lesen von Stagingdateien wurde hinzugefügt:

    • pd.read_excel

    • pd.read_html

    • pd.read_pickle

    • pd.read_sas

    • pd.read_xml

  • Unterstützung für DataFrame.to_iceberg und Series.to_iceberg hinzugefügt.

  • Unterstützung für dict-Werte in Series.str.len hinzugefügt.

Verbesserungen

  • Verbessern Sie die Leistung von DataFrame.groupby.apply und Series.groupby.apply, indem Sie den teuren Pivot-Schritt vermeiden.

  • Eine Schätzung für die obere Grenze der Zeilenzahl wurde zu OrderedDataFrame hinzugefügt, um einen besseren Wechsel der Engine zu ermöglichen. Dies könnte zu einer erhöhten Anzahl von Abfragen führen.

  • Benennen Sie den Parameter relaxed_ordering in enforce_ordering in pd.read_snowflake um. Außerdem lautet der neue Standardwert enforce_ordering=False, was den gegenteiligen Effekt des vorherigen Standardwerts, relaxed_ordering=False, hat.

Fehlerkorrekturen

  • Ein Fehler für pd.read_snowflake beim Lesen von Iceberg-Tabellen und enforce_ordering=True wurde behoben.

Version 1.30.0 (2025-03-27)

Neue Features

  • Unterstützung für lockere Konsistenz- und Ordnungsgarantien in Dataframe.to_snowpark_pandas durch Einführung des Parameters relaxed_ordering.

  • DataFrameReader.dbapi (Vorschau) akzeptiert jetzt eine Liste von Strings für den Parameter session_init_statement, so dass mehrere SQL-Anweisungen während der Sitzungsinitialisierung ausgeführt werden können.

Verbesserungen

  • Die Abfragegenerierung für Dataframe.stat.sample_by wurde verbessert, um eine einzige flache Abfrage zu generieren, die bei einem großen fractions-Wörterbuch gut skaliert, verglichen mit der älteren Methode, für jeden Schlüssel in fractions eine Unterabfrage UNION ALL zu erstellen. Um dieses Feature zu aktivieren, stellen Sie session.conf.set("use_simplified_query_generation", True) ein.

  • Die Leistung von DataFrameReader.dbapi wurde verbessert, indem die vektorisierte Option beim Kopieren einer Parkettdatei in eine Tabelle aktiviert wurde.

  • Die Generierung von Abfragen für DataFrame.random_split wurde in folgenden Punkten verbessert Sie können durch die Einstellung session.conf.set("use_simplified_query_generation", True) aktiviert werden:

    • In der internen Implementierung des Eingabedatenrahmens ist es nicht mehr erforderlich, cache_result zu verwenden, was zu einer reinen Lazy-Dataframe-Operation führt.

    • Das Argument seed verhält sich jetzt wie erwartet mit wiederholbaren Ergebnissen über mehrere Aufrufe und Sitzungen hinweg.

  • DataFrame.fillna und DataFrame.replace unterstützen nun beide das Anpassen von int und float in Decimal-Spalten, wenn include_decimal auf True gesetzt ist.

  • Dokumentation für die folgenden UDF und Stored-Procedure-Funktionen in files.py als Ergebnis ihrer allgemeinen Verfügbarkeit hinzugefügt.

    • SnowflakeFile.write

    • SnowflakeFile.writelines

    • SnowflakeFile.writeable

  • Kleinere Änderungen in der Dokumentation für SnowflakeFile und SnowflakeFile.open().

Fehlerkorrekturen

  • Es wurde ein Bug bei den folgenden Funktionen behoben, der zu Fehlern führte. .cast() wird auf deren Ausgabe angewendet:

    • from_json

    • size

Lokale Snowpark-Testaktualisierungen

Fehlerkorrekturen

  • Es wurde ein Fehler in der Aggregation behoben, der dazu führte, dass leere Gruppen immer noch Zeilen erzeugten.

  • Es wurde ein Fehler in Dataframe.except_ behoben, der dazu führte, dass Zeilen fälschlicherweise gelöscht wurden.

  • Es wurde ein Fehler behoben, der dazu führte, dass to_timestamp bei der Umwandlung gefilterter Spalten fehlschlug.

Snowpark Pandas API-Aktualisierungen

Neue Features

  • Unterstützung für Listenwerte in Series.str.__getitem__ (Series.str[...]) wurde hinzugefügt.

  • Unterstützung für pd.Grouper-Objekte in GROUP BY-Operationen hinzugefügt. Wenn freq angegeben wird, werden die Standardwerte der Argumente sort, closed, label und convention unterstützt; origin wird unterstützt, wenn es start oder start_day ist.

  • Durch die Einführung des neuen Parameters relaxed_ordering wurde die Unterstützung für entspannte Konsistenz- und Ordnungsgarantien in pd.read_snowflake sowohl für benannte Datenquellen (z. B. Tabellen und Ansichten) als auch für Abfrage-Datenquellen hinzugefügt.

Verbesserungen

  • Geben Sie eine Warnung aus, wenn festgestellt wird, dass QUOTED_IDENTIFIERS_IGNORE_CASE gesetzt ist, und fordern Sie den Benutzer auf, die Einstellung rückgängig zu machen.

  • Es wurde verbessert, wie ein fehlendes index_label in DataFrame.to_snowflake und Series.to_snowflake behandelt wird, wenn index=True. Anstatt einen ValueError zu melden, werden systemdefinierte Bezeichnungen für die Indexspalten verwendet.

  • Die Fehlermeldung für groupby, DataFrame, oder Series.agg wurde verbessert, wenn der Funktionsname nicht unterstützt wird.

Lokale Snowpark-Testaktualisierungen

Verbesserungen

  • Geben Sie eine Warnung aus, wenn festgestellt wird, dass QUOTED_IDENTIFIERS_IGNORE_CASE gesetzt ist, und fordern Sie den Benutzer auf, die Einstellung rückgängig zu machen.

  • Es wurde verbessert, wie ein fehlendes index_label in DataFrame.to_snowflake und Series.to_snowflake behandelt wird, wenn index=True. Anstatt einen ValueError zu melden, werden systemdefinierte Bezeichnungen für die Indexspalten verwendet.

  • Verbesserte Fehlermeldung für groupby or DataFrame or Series.agg, wenn der Funktionsname nicht unterstützt wird.

Version 1.29.1 (2025-03-12)

Fehlerkorrekturen

  • Es wurde ein Fehler in DataFrameReader.dbapi (private Vorschau) behoben, der die Verwendung in gespeicherten Prozeduren und Snowbooks verhindert.

Version 1.29.0 (2025-03-05)

Neue Features

  • Unterstützung für die folgenden AI-fähigen Funktionen in functions.py (Private Vorschau) hinzugefügt:

    • ai_filter

    • ai_agg

    • summarize_agg

  • Unterstützung für den neuen Typ FILE SQL mit den folgenden zugehörigen Funktionen in functions.py (Private Vorschau) hinzugefügt:

    • fl_get_content_type

    • fl_get_etag

    • fl_get_file_type

    • fl_get_last_modified

    • fl_get_relative_path

    • fl_get_scoped_file_url

    • fl_get_size

    • fl_get_stage

    • fl_get_stage_file_url

    • fl_is_audio

    • fl_is_compressed

    • fl_is_document

    • fl_is_image

    • fl_is_video

  • Unterstützung für den Import von Paketen von Drittanbietern von PyPi mit Hilfe des Artefakt-Repository (Private Vorschau) wurde hinzugefügt:

    • Verwenden Sie die Schlüsselwortargumente artifact_repository`und :code:`packages, um beim Registrieren von gespeicherten Prozeduren oder benutzerdefinierten Funktionen Ihr Artefakt-Repository bzw. die Pakete festzulegen.

    • Unterstützte APIs sind:

      • Session.sproc.register

      • Session.udf.register

      • Session.udaf.register

      • Session.udtf.register

      • functions.sproc

      • functions.udf

      • functions.udaf

      • functions.udtf

      • functions.pandas_udf

      • functions.pandas_udtf

Verbesserungen

  • Verbesserte Versionsvalidierungswarnungen für snowflake-snowpark-python-Paketkompatibilität bei der Registrierung von gespeicherten Prozeduren. Jetzt werden Warnungen nur noch ausgelöst, wenn die Haupt- oder Nebenversion nicht übereinstimmt, während Bugfix-Versionsunterschiede keine Warnungen mehr erzeugen.

  • Die Cloudpickle-Abhängigkeit wurde erhöht, um zusätzlich zu den früheren Versionen auch cloudpickle==3.0.0 zu unterstützen.

Fehlerkorrekturen

  • Es wurde ein Fehler behoben, bei dem das Erstellen eines Datenrahmens mit einer großen Anzahl von Werten zu einem Unsupported feature 'SCOPED_TEMPORARY'.-Fehler führte, wenn die Thread-sichere Sitzung deaktiviert war.

  • Es wurde ein Fehler behoben, bei dem df.describe einen internen SQL-Ausführungsfehler auslöste, wenn DataFrame aus dem Lesen einer Stagingdatei erstellt wurde und die CTE-Optimierung aktiviert war.

  • Es wurde ein Fehler behoben, bei dem df.order_by(A).select(B).distinct() ungültige SQL generierte, wenn die vereinfachte Abfragegenerierung mit session.conf.set("use_simplified_query_generation", True) aktiviert war.

    • Standardmäßig ist die vereinfachte Abfrageerstellung deaktiviert.

Snowpark Pandas API-Aktualisierungen

Verbesserungen

  • Verbessern Sie die Fehlermeldung für pd.to_snowflake, DataFrame.to_snowflake, und Series.to_snowflake, wenn die Tabelle nicht existiert.

  • Verbessern Sie die Lesbarkeit des Docstring für den Parameter if_exists in pd.to_snowflake, DataFrame.to_snowflake und Series.to_snowflake.

  • Verbesserte Fehlermeldung für alle pandas-Funktionen, die UDFs mit Snowpark-Objekten verwenden.

Fehlerkorrekturen

  • Ein Fehler in Series.rename_axis wurde behoben, bei dem ein AttributeError ausgelöst wurde.

  • Ein Fehler wurde behoben, bei dem pd.get_dummies die Werte NULL/NaN nicht standardmäßig ignorierte.

  • Es wurde ein Fehler behoben, bei dem wiederholte Aufrufe von pd.get_dummies zu „Duplicated column name error“ führten.

  • Es wurde ein Fehler in pd.get_dummies behoben, bei dem die Übergabe einer Liste von Spalten zu falschen Spaltenbeschriftungen im Ausgabe-DataFrame führte.

  • Aktualisieren Sie pd.get_dummies, um bool-Werte anstelle von int zurückzugeben.

Lokale Snowpark-Testaktualisierungen

Neue Features

  • Unterstützung von literalen Werten zur Fensterfunktion range_between hinzugefügt.

Version 1.28.0 (2025-02-20)

Neue Features

  • Unterstützung für die folgenden Funktionen in functions.py wurde hinzugefügt:

    • normal

    • randn

  • Unterstützung für den Parameter allow_missing_columns wurde zu Dataframe.union_by_name und Dataframe.union_all_by_name hinzugefügt.

Verbesserungen

  • Die Generierung zufälliger Objektnamen wurde verbessert, um Kollisionen zu vermeiden.

  • Die Generierung von Abfragen für Dataframe.distinct wurde verbessert, um SELECT DISTINCT anstelle von SELECT mit GROUP BY in allen Spalten zu generieren. Um dieses Feature zu deaktivieren, stellen Sie session.conf.set("use_simplified_query_generation", False) ein.

Veraltete Funktionen

  • Veraltete Snowpark Python-Funktion snowflake_cortex_summarize. Benutzer können snowflake-ml-python installieren und stattdessen die Funktion snowflake.cortex.summarize verwenden.

  • Veraltete Snowpark Python-Funktion snowflake_cortex_sentiment. Benutzer können snowflake-ml-python installieren und stattdessen die Funktion snowflake.cortex.sentiment verwenden.

Fehlerkorrekturen

  • Es wurde ein Fehler behoben, bei dem das Abfrage-Tag auf Sitzungsebene durch eine Stapelverfolgung für DataFrames überschrieben wurde, die mehrere Abfragen erzeugt. Jetzt wird das Abfrage-Tag nur dann auf den Stacktrace gesetzt, wenn session.conf.set("collect_stacktrace_in_query_tag", True).

  • Ein Fehler in Session._write_pandas wurde behoben, bei dem beim Schreiben eines Snowpark-Pandas-Objekts der Parameter use_logical_type fälschlicherweise an Session._write_modin_pandas_helper übergeben wurde.

  • Es wurde ein Fehler bei der Erzeugung von Options-SQL behoben, der dazu führen konnte, dass mehrere Werte falsch formatiert wurden.

  • Es wurde ein Fehler in Session.catalog behoben, bei dem leere Zeichenketten für Datenbank oder Schema nicht korrekt behandelt wurden und fehlerhafte SQL-Anweisungen erzeugten.

Experimentelle Features

  • Unterstützung für das Schreiben von Pyarrow-Tabellen in Snowflake-Tabellen wurde hinzugefügt.

Snowpark Pandas API-Aktualisierungen

Neue Features

  • Unterstützung für die Anwendung der Snowflake Cortex-Funktionen Summarize und Sentiment wurde hinzugefügt.

  • Unterstützung für Listenwerte in Series.str.get wurde hinzugefügt.

Fehlerkorrekturen

  • Ein Fehler in apply wurde behoben, bei dem kwargs nicht korrekt an die angewandte Funktion übergeben wurde.

Lokale Snowpark-Testaktualisierungen

Neue Features

  • Unterstützung für die folgenden Funktionen wurde hinzugefügt
    • hour

    • minute

  • Unterstützung für den Parameter NULL_IF wurde dem CSV Reader hinzugefügt.

  • Unterstützung für die Optionen date_format, datetime_format und timestamp_format beim Laden von CSVs wurde hinzugefügt.

Fehlerkorrekturen

  • Es wurde ein Fehler in DataFrame.join behoben, der dazu führte, dass Spalten falsch eingegeben wurden.

  • Es wurde ein Fehler in when-Anweisungen behoben, der zu falschen Ergebnissen in der otherwise-Klausel führte.

Version 1.27.0 (2025-02-05)

Neue Features

Unterstützung für die folgenden Funktionen in functions.py wurde hinzugefügt:

  • array_reverse

  • divnull

  • map_cat

  • map_contains_key

  • map_keys

  • nullifzero

  • snowflake_cortex_sentiment

  • acosh

  • asinh

  • atanh

  • bit_length

  • bitmap_bit_position

  • bitmap_bucket_number

  • bitmap_construct_agg

  • cbrt

  • equal_null

  • from_json

  • ifnull

  • localtimestamp

  • max_by

  • min_by

  • nth_value

  • nvl

  • octet_length

  • position

  • regr_avgx

  • regr_avgy

  • regr_count

  • regr_intercept

  • regr_r2

  • regr_slope

  • regr_sxx

  • regr_sxy

  • regr_syy

  • try_to_binary

  • base64

  • base64_decode_string

  • base64_encode

  • editdistance

  • hex

  • hex_encode

  • instr

  • log1p

  • log2

  • log10

  • percentile_approx

  • unbase64

  • Unterstützung für die Angabe einer Schema-Zeichenfolge (einschließlich impliziter struct-Syntax) beim Aufruf von DataFrame.create_dataframe wurde hinzugefügt.

  • Unterstützung von DataFrameWriter.insert_into/insertInto hinzugefügt. Diese Methode unterstützt auch den lokalen Testmodus.

  • Unterstützung für DataFrame.create_temp_view wurde hinzugefügt, um eine temporäre Ansicht zu erstellen. Dies schlägt fehl, wenn die Ansicht bereits existiert.

  • Unterstützung für mehrere Spalten in den Funktionen map_cat und map_concat wurde hinzugefügt.

  • Es wurde eine Option keep_column_order hinzugefügt, um die ursprüngliche Spaltenreihenfolge in DataFrame.with_column und DataFrame.with_columns beizubehalten.

  • Es wurden Optionen zu den Spaltenumwandlungen hinzugefügt, die das Umbenennen oder Hinzufügen von Feldern in StructType-Spalten ermöglichen.

  • Unterstützung für contains_null parameter wurde zu ArrayType hinzugefügt.

  • Es wurde Unterstützung für die Erstellung einer temporären Ansicht über DataFrame.create_or_replace_temp_view aus einem DataFrame hinzugefügt, der durch Lesen einer Datei aus einem Stagingbereich erstellt wurde.

  • Unterstützung für den Parameter value_contains_null wurde zu MapType hinzugefügt.

  • Interaktiv wurde zur Telemetrie hinzugefügt, die anzeigt, ob die aktuelle Umgebung eine interaktive ist.

  • Erlauben Sie session.file.get in einer Native App, Dateipfade, die mit / beginnen, aus der aktuellen Version zu lesen

  • Unterstützung für mehrere Aggregationsfunktionen nach DataFrame.pivot hinzugefügt.

Experimentelle Features

  • Die Klasse Session.catalog wurde hinzugefügt, um Snowflake-Objekte zu verwalten. Sie kann über Session.catalog aufgerufen werden.

    • snowflake.core ist eine für dieses Feature erforderliche Abhängigkeit.

  • Erlauben Sie die Eingabe von Schemata durch den Benutzer oder die Eingabe von Schemata durch den Benutzer beim Lesen der Datei JSON im Stagingbereich.

  • Unterstützung für die Angabe einer Schema-Zeichenfolge (einschließlich impliziter struct-Syntax) beim Aufruf von DataFrame.create_dataframe wurde hinzugefügt.

Verbesserungen

  • README.md wurde aktualisiert und enthält nun Anweisungen zur Überprüfung von Paketsignaturen mit cosign.

Fehlerkorrekturen

  • Es wurde ein Fehler im lokalen Testmodus behoben, der dazu führte, dass eine Spalte den Wert None enthielt, obwohl sie eigentlich 0 enthalten sollte.

  • Ein Fehler in StructField.from_json wurde behoben, der verhinderte, dass TimestampTypes mit tzinfo korrekt geparst wurde.

  • Ein Fehler in function date_format wurde behoben, der einen Fehler verursachte, wenn die Eingabespalte vom Typ Datum oder Zeitstempel war.

  • Es wurde ein Fehler in DataFrame behoben, durch den Nullwerte in eine nicht-nullbare Spalte eingefügt werden konnten.

  • Es wurde ein Fehler in den Funktionen replace und lit behoben, der bei der Übergabe von Column-Ausdrucksobjekten zu einem Fehler bei der Typ-Hinweis-Assertion führte.

  • Ein Fehler in pandas_udf und pandas_udtf wurde behoben, bei dem Sitzungsparameter fälschlicherweise ignoriert wurden.

  • Es wurde ein Fehler behoben, der einen falschen Typkonvertierungsfehler für Systemfunktionen auslöste, die über session.call aufgerufen wurden.

Snowpark Pandas API-Aktualisierungen

Neue Features

  • Unterstützung für Series.str.ljust und Series.str.rjust hinzugefügt.

  • Unterstützung von Series.str.center hinzugefügt.

  • Unterstützung von Series.str.pad hinzugefügt.

  • Unterstützung für die Anwendung der Snowpark Python-Funktion snowflake_cortex_sentiment wurde hinzugefügt.

  • Unterstützung von DataFrame.map hinzugefügt.

  • Unterstützung für DataFrame.from_dict und DataFrame.from_records hinzugefügt.

  • Unterstützung für gemischte Groß- und Kleinschreibung von Feldnamen in Spalten vom Typ struct wurde hinzugefügt.

  • Unterstützung von SeriesGroupBy.unique hinzugefügt.

  • Unterstützung von Series.dt.strftime mit den folgenden Direktiven wurde hinzugefügt:

    • %d: Tag des Monats als mit Nullen aufgefüllte Dezimalzahl.

    • %m: Monat als mit Nullen aufgefüllte Dezimalzahl.

    • %Y: Jahr mit Jahrhundert als Dezimalzahl.

    • %H: Stunde (24-Stunden-Uhr) als mit Nullen aufgefüllte Dezimalzahl.

    • %M: Minute als mit Nullen aufgefüllte Dezimalzahl.

    • %S: Sekunde als mit Nullen aufgefüllte Dezimalzahl.

    • %f: Mikrosekunde als Dezimalzahl, mit Nullen aufgefüllt auf 6 Ziffern.

    • %j: Tag des Jahres als mit Nullen aufgefüllte Dezimalzahl.

    • %X: Die für das Gebietsschema geeignete Zeitdarstellung.

    • %%: Ein wörtliches ‚%‘-Zeichen.

  • Unterstützung von Series.between hinzugefügt.

  • Unterstützung von include_groups=False in DataFrameGroupBy.apply hinzugefügt.

  • Unterstützung von expand=True in Series.str.split hinzugefügt.

  • Unterstützung für DataFrame.pop und Series.pop hinzugefügt.

  • Unterstützung für first und last in DataFrameGroupBy.agg und SeriesGroupBy.agg hinzugefügt.

  • Unterstützung von Index.drop_duplicates hinzugefügt.

  • Unterstützung für Aggregationen "count", "median", np.median, "skew", "std", np.std "var" und np.var in pd.pivot_table(), DataFrame.pivot_table() und pd.crosstab() hinzugefügt.

Verbesserungen

  • Verbesserte Leistung der Methoden DataFrame.map, Series.apply und Series.map durch Zuordnung von Numpy-Funktionen zu Snowpark-Funktionen, wenn möglich.

  • Dokumentation für DataFrame.map hinzugefügt.

  • Verbesserte Leistung von DataFrame.apply durch Zuordnung von Numpy-Funktionen zu Snowpark-Funktionen, wenn möglich.

  • Dokumentation über den Umfang der Interoperabilität von Snowpark pandas mit scikit-learn hinzugefügt.

  • Ableitung des Rückgabetyps von Funktionen in Series.map, Series.apply und DataFrame.map, wenn kein Typhinweis angegeben ist.

  • call_count wurde zur Telemetrie hinzugefügt, wodurch Methodenaufrufe einschließlich Aufrufen des Interchange-Protokolls gezählt werden.