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.39.1: 25. September 2025¶
Fehlerkorrekturen¶
Es wurde eine experimentelle Korrektur für einen Fehler bei der Schemaabfragegenerierung hinzugefügt, der bei Verwendung verschachtelter strukturierter Typen zur Generierung ungültigen SQL-Codes führen konnte.
Version 1.39.0: 17. September 2025¶
Neue Features¶
Die Protokollnachricht, dass sich die
DataFrame-Snowpark-Referenz eines internenDataFrameReference-Objekts geändert hat, wurde auf die Ebenelogging.DEBUG - 1herabgestuft.Doppelte Parameter für den Groß-/Kleinschreibungsstatus beim Abrufen der Sitzung können beseitigt werden.
Abrufen der DataFrame-Zeilenanzahl durch Objekt-Metadaten, um eine COUNT(*)-Abfrage (Leistung) zu vermeiden.
Unterstützung für die Anwendung der Snowflake Cortex-Funktion
Completehinzugefügt.Einführung von schnellerer pandas: Verbesserte Leistung durch Aufschub der Berechnung der Zeilenposition.
Die folgenden Vorgänge werden derzeit unterstützt und können von der Optimierung profitieren:
read_snowflake,repr,loc,reset_index,mergeund binäre Vorgänge.Wenn ein Lazy-Objekt (z. B. DataFrame oder Series) von einer Mischung aus unterstützten und nicht unterstützten Vorgängen abhängt, wird die Optimierung nicht verwendet.
Die Fehlermeldung wurde aktualisiert, wenn innerhalb von
applyauf Snowpark pandas verwiesen wird.Es wurde ein Sitzungsparameter
dummy_row_pos_optimization_enabledzum Aktivieren/Deaktivieren der Optimierung der Dummy-Zeilenposition in schnellerer pandas hinzugefügt.
Aktualisierungen der Abhängigkeiten¶
Unterstützte
modin-Versionen wurden auf >=0.35.0 und <0.37.0 (was previously >= 0.34.0 und <0.36.0) aktualisiert.
Fehlerkorrekturen¶
Es wurde ein Problem mit
drop_duplicatesbehoben, bei dem dieselbe Datenquelle in derselben Abfrage mehrmals gelesen werden konnte, jedoch jedes Mal in einer anderen Reihenfolge, was zu fehlenden Zeilen im Endergebnis führte. Die Korrektur stellt sicher, dass die Datenquelle nur einmal gelesen wird.Es wurde ein Fehler im hybriden Ausführungsmodus behoben, bei dem ein
AssertionErrorunerwartet durch bestimmte Indizierungsvorgänge ausgelöst wurde.
Lokale Snowpark-Testaktualisierungen¶
Neue Features¶
Es wurde Unterstützung für Patching
functions.ai_completehinzugefügt.
Version 1.38.0: 4. September 2025¶
Neue Features¶
Es wurde Unterstützung für die folgenden AI-getriebenen Funktionen in
functions.pyhinzugefügt:ai_extractai_parse_documentai_transcribe
Time Travel-Unterstützung für das Abfragen historischer Daten wurde hinzugefügt:
Session.table()unterstützt jetzt Time Travel-Parameter:time_travel_modestatementoffsettimestamptimestamp_typestream
DataFrameReader.table()unterstützt die gleichen Time Travel-Parameter wie direkte Argumente.DataFrameReaderunterstützt Time Travel über Optionsverkettungen (z. B.session.read.option("time_travel_mode", "at").option("offset", -60).table("my_table")).
Unterstützung für die Angabe der folgende Parameter in
DataFrameWriter.copy_into_locationzur Validierung und zum Schreiben von Daten an externe Speicherorte wurde hinzugefügt:validation_modestorage_integrationcredentialsencryption
Unterstützung für
Session.directoryundSession.read.directorywurde hinzugefügt, um die Liste aller Dateien in einem Stagingbereich mit Metadaten abrufen.Unterstützung für
DataFrameReader.jdbc(Private Preview)wurde hinzugefügt, wodurch der JDBC-Treiber externe Datenquellen aufnehmen kann.Unterstützung für
FileOperation.copy_fileszum Kopieren von Dateien von einem Quellspeicherort in einen Ausgabe wurde hinzugefügt.Unterstützung für die folgenden Skalar-Funktionen in
functions.pywurde hinzugefügt:all_user_namesbitandbitand_aggbitorbitor_aggbitxorbitxor_aggcurrent_account_namecurrent_clientcurrent_ip_addresscurrent_role_typecurrent_organization_namecurrent_organization_usercurrent_secondary_rolescurrent_transactiongetbit
Fehlerkorrekturen¶
Problem mit
_repr_vonTimestampTypewurde behoben, um dem tatsächlichen Untertyp zu entsprechen, den der Wert darstellt.Fehler in
DataFrameReader.dbapibehoben, bei dem dieUDTF-Datenaufnahme in gespeicherten Prozeduren nicht funktionierte.Es wurde ein Problem in der Schemaableitung behoben, der dazu führte, dass falsche Stagingbereichspräfixe verwendet wurden.
Verbesserungen¶
Die Fehlerbehandlung bei der Thread-basierten:code:
DataFrameReader.dbapi-Datenaufnahme wurde verbessert, um unnötige Vorgänge zu vermeiden und die Effizienz von Ressourcen zu verbessern.Die Cloudpickle-Abhängigkeit wurde aktualisiert, um zusätzlich zu früheren Versionen auch
cloudpickle==3.1.1zu unterstützen.Verbesserte
DataFrameReader.dbapi(Öffentliche Vorschau)-Datenaufnahmeleistung für PostgreSQL und MySQL durch Verwendung eines serverseitigen Cursors zum Abrufen von Daten.
Snowpark Pandas API-Aktualisierungen¶
Neue Features¶
Abgeschlossene Unterstützung für die folgenden Funktionen für die „Pandas“- und „Ary“-Backends:
pd.read_snowflake()pd.to_iceberg()pd.to_pandas()pd.to_snowpark()pd.to_snowflake()DataFrame.to_iceberg()DataFrame.to_pandas()DataFrame.to_snowpark()DataFrame.to_snowflake()Series.to_iceberg()Series.to_pandas()Series.to_snowpark()Series.to_snowflake()für die „Pandas“- und „Ary“-Backends. Bisher wurden nur einige dieser Funktionen und Methoden für das Pandas-Backend unterstützt.
Unterstützung für
Index.get_level_values()wurde hinzugefügt.
Verbesserungen¶
Legen Sie das Standardübertragungslimit bei der Hybridausführung für Daten, die Snowflake verlassen, auf 100 KB fest, was mit der Umgebungsvariablen
SnowflakePandasTransferThresholdüberschrieben werden kann. Diese Konfiguration eignet sich für Szenarios mit zwei verfügbaren Engines, „pandas“ und „Snowflake“, für relationale Workloads.Die Importfehlermeldung wurde durch Hinzufügen von
--upgradezupip install "snowflake-snowpark-python[modin]"in der Meldung verbessert.Die Telemetrienachrichten vom Modin-Client wurden reduziert, indem sie in Fünf-Sekunden-Fenster voraggregiert wurden und nur ein schmaler Bereich von Kennzahlen beibehalten wurde, die für die Verfolgung der Hybridausführung und der nativen pandas-Leistung nützlich sind.
Legen Sie die anfängliche Zeilenanzahl nur fest, wenn die Hybridausführung aktiviert ist, wodurch die Anzahl der ausgegebenen Abfragen für viele Workloads reduziert wird.
Neuer Testparameter für Integrationstest hinzugefügt, um die Hybridausführung zu ermöglichen.
Fehlerkorrekturen¶
Auslösung eines
NotImplementedErroranstelle vonAttributeErrorbei dem Versuch, die Snowflake-Erweiterungsfunktionen/-methodento_dynamic_table(),cache_result(),to_view(),create_or_replace_dynamic_table()undcreate_or_replace_view()für DataFrames oder -Serien mit den pandas- oder ray-Backends aufzurufen.
Version 1.37.0 (18. August 2025)¶
Neue Features¶
Unterstützung für die folgenden
functions.py-Funktionen inxpathwurde hinzugefügt:xpathxpath_stringxpath_booleanxpath_intxpath_floatxpath_doublexpath_longxpath_short
Unterstützung für
use_vectorized_scanner-Parameter in der FunktionSession.write_arrow()hinzugefügt.DataFrame-Profiler fügt die folgenden Informationen zu jeder Abfrage hinzu:
describe query timeexecution timeundsql query text. Um diese Informationen anzuzeigen, rufen Siesession.dataframe_profiler.enable()undget_execution_profileauf einem DataFrame auf.Unterstützung von
DataFrame.col_ilikehinzugefügt.Unterstützung von nicht blockierenden Aufrufen gespeicherter Prozeduren hinzugefügt, die
AsyncJob-Objekte zurückgeben.block: bool = True-Parameter zuSession.call()hinzugefügt. Wennblock=FalseAsyncJobzurückgibt, statt bis zur Fertigstellung zu blockieren.Der Parameter
block: bool = Truewurde zuStoredProcedure.__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 zuSession.call(block=False)hinzugefügt.
Fehlerkorrekturen¶
Es wurde ein Fehler in der CTE-Optimierungsphase behoben, bei dem es durch
deepcopyinterner Pläne zu einem sprunghaften Anstieg der Speicherauslastung kam, wenn ein DataFrame lokal mithilfe vonsession.create_dataframe()unter Verwendung großer Eingabedaten erstellt wurde.Es wurde ein Fehler in
DataFrameReader.parquetbehoben, bei dem die Optionignore_caseinnerhalb voninfer_schema_optionsnicht berücksichtigt wurde.Es wurde ein Fehler behoben, bei dem
to_pandas()ein abweichendes Format des Spaltennamens hatte, wenn das Abfrageergebnisformat aufJSONundARROWgesetzt ist.
Veraltete Funktionen¶
pkg_resourcesist veraltet.
Aktualisierungen der Abhängigkeiten¶
Abhängigkeit von
protobuf<6.32hinzugefü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_backendhinzugefügt. Die installierte Version vonmodinmuss mindestens 0.35.0 lauten undraymuss 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_datetimeundpd.to_timedeltaunerwartetIndexErrorauslösten.Es wurde ein Fehler behoben, bei dem
pd.explain_switchentwederIndexErrorauslöste oderNonezurückgab, wenn es aufgerufen wurde, bevor mögliche Switch-Operationen durchgeführt wurden.
Version 1.36.0 (5. August 2025)¶
Neue Features¶
Session.create_dataframeakzeptiert jetzt Schlüsselwortargumente, die beim internen Aufruf vonSession.write_pandasoderSession.write_arrowweitergegeben werden, wenn ein DataFrame aus einem pandas-DataFrame oder einerpyarrow-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 mitAsyncJob.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, ohneresult()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.pywurde hinzugefügt:ai_sentiment
Die Schnittstelle für das experimentelle Feature
context.configure_development_featureswurde 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.uniquezu DataFrame- und Series-Eingaben mithilfe vonpd.uniquehinzugefügt.
Fehlerkorrekturen¶
Es wurde ein Problem behoben, bei dem das Snowpark-Pandas-Plugin stets
AutoSwitchBackenddeaktivierte – 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.pywurde hinzugefügt:ai_embedtry_parse_json
Verbesserungen¶
Der Parameter
queryinDataFrameReader.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 indbapieiner 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 demcustom_schemaein unzulässiges Schema akzeptierte.Es wurde ein Fehler in
DataFrameReader.dbapi(Private Vorschau) behoben, bei demcustom_schemabeim 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
SnowflakeFilewurde 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_CASTzuDataFrameReaderhinzugefügt. WennTRY_CASTistTrue`sind, werden die Spalten in einer:code:`TRY_CAST-Anweisung anstelle eines harten Umwandelns beim Laden von Daten umschlossen.Neue Option
USE_RELAXED_TYPESzumINFER_SCHEMA_OPTIONSvonDataFrameReaderhinzugefügt. WennTruewandelt diese Option alle Zeichenfolgen in Zeichenfolgen maximaler Länge und alle numerischen Typen inDoubleTypeum.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_pandashinzugefü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 cachehinzugefü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_processzuDataFrameReader.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.modelhinzugefü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
rowValidationXSDPathhinzugefügt, wenn XML-Dateien mit einem Row-Tag über dierowTag-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.explodehinzugefü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 mitsession.ast_enabled = Trueerledigen.Legen Sie
enforce_ordering=Truebeim Aufrufen vonto_snowpark_pandas():code:von einem Snowpark DataFrame fest, der DML/DDL-Abfragen enthält und keinenNotImplementedError-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 alsColumn-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_excelundSeries.to_excelhinzugefügt.Unterstützung für
pd.read_feather,pd.read_orcundpd.read_statahinzugefügt.Es wurde Unterstützung für
pd.explain_switch()hinzugefügt, um Debugging-Informationen zu Entscheidungen der hybriden Ausführung zurückzugebenUnterstützt
pd.read_snowflake, wenn das globale Modin-BackendPandasist.Unterstützung für
pd.to_dynamic_table,pd.to_icebergundpd.to_viewhinzugefü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- oderpandas-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
typeund andere Standardfelder für pandas on Snowflake-Telemetrie ein.
Aktualisierungen der Abhängigkeiten¶
Es wurden
tqdmundipywidgetsals 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 wienp.whereauf Modin-Objekten mit dem Pandas-Backend einenAttributeErrorauslöste. Diese Korrektur erfordertmodin-Version 0.34.0 oder höher.Es wurde ein Problem in
df.meltbehoben, 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 vonPATTERNbeim Lesen von Dateien mitINFER_SCHEMAzu aktivieren.Es wurde Unterstützung für die folgenden AI-getriebenen Funktionen in
functions.pyhinzugefügt:ai_completeai_similarityai_summarize_agg(ursprünglichsummarize_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
rowTaghinzugefügt:Es wurde Unterstützung für das Entfernen von Namespace-Präfixen aus Spaltennamen mit der Option
ignoreNamespacehinzugefü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
excludeAttributeshinzugefü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
valueTaghat.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
charsethinzugefügt.Es wurde Unterstützung für das Ignorieren von umgebenden Leerzeichen im XML-Element mit der Option
ignoreSurroundingWhitespacehinzugefügt.
Es wurde Unterstützung für den Parameter
return_dataframeinSession.callhinzugefügt, mit dem der Rückgabetyp der Funktionen auf einDataFrame-Objekt festgelegt werden kann.Es wurde ein neues Argument für
Dataframe.describehinzugefügt, namensstrings_include_math_stats, das die Berechnung vonstddevundmeanfür String-Spalten auslöst.Es wurde Unterstützung hinzugefügt für das Abrufen von
Edge.propertiesbeim Abrufen der Herkunft vonDGQLinDataFrame.lineage.trace.Es wurde ein Parameter
table_existszuDataFrameWriter.save_as_tablehinzugefü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 definiertecreate_connectionnicht mit Multiprocessing kompatibel war.Es wurde ein Fehler in
DataFrameReader.dbapi(Private Preview) behoben, bei dem der Databricks-TypTIMESTAMPfälschlicherweise in den Snowflake-TypTIMESTAMP_NTZkonvertiert wurde; korrekt wäre der TypTIMESTAMP_LTZgewesen.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_tableeinen Fehler auslöste, wenn DataFrame einen UDTF undSELECT *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()undSession.create_dataframe()wurde verbessert, wenn der Eingabe-pandas-DataFrame keine Spalte enthält.DataFrame.selectwurde 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 indf.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_SENSITIVEbeim 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.isinbehoben, der zu falschem Filtern von verknüpften oder zuvor gefilterten Dateien führte.Es wurde ein Fehler in
snowflake.snowpark.functions.concat_wsbehoben, 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
modinwurde von 0.32.0 auf >=0.32.0, <0.34.0 aktualisiert. Die neueste mit Snowpark pandas getestete Version istmodin0.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 aufFalsefest fürDataFrame.to_view,Series.to_view,DataFrame.to_dynamic_tableundSeries.to_dynamic_table.Es wurde die Option
iceberg_versionfür Tabellenerstellungsfunktionen hinzugefügt.Die Anzahl der Abfragen wurde für viele Operationen reduziert, darunter
insert,repr, undgroupbydie zuvor eine Abfrage abgesetzt hatten, um die Größe der Eingabedaten zu ermitteln.
Fehlerkorrekturen¶
Es wurde ein Fehler behoben in
Series.where, wenn der Parameterothereine nicht benannteSeriesist.
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 DatentypFILEwurde 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 wirdPERMISSIVE,DROPMALFORMEDundFAILFASTunterstützt.Die Fehlermeldung des XML-Readers wurde verbessert, wenn die angegebene
ROWTAGnicht in der Datei gefunden wird.Die Erstellung von Abfragen für
Dataframe.dropwurde verbessert, umSELECT * EXCLUDE ()zu verwenden, um die ausgelassenen Spalten auszuschließen. Um dieses Feature zu aktivieren, stellen Siesession.conf.set("use_simplified_query_generation", True)ein.Unterstützung für
VariantTypewurde zuStructType.from_jsonhinzugefü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.rankwurde 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.sliceundSeries.str.__getitem__hinzugefügt (Series.str[...]).Unterstützung von
DataFrame.to_htmlhinzugefügt.Unterstützung für
DataFrame.to_stringundSeries.to_stringhinzugefügt.Unterstützung für das Lesen von Dateien aus S3-Buckets mit
pd.read_csvwurde hinzugefügt.
Verbesserungen¶
Machen Sie
iceberg_configzu einem erforderlichen Parameter fürDataFrame.to_icebergundSeries.to_iceberg.
Version 1.31.0 (2025-04-24)¶
Neue Features¶
Unterstützung für die Erlaubnis
restricted callerdes Argumentsexecute_asinStoredProcedure.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_repositorywurde zuSession.add_packages,Session.add_requirements,Session.get_packages,Session.remove_packageundSession.clear_packageshinzugefü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_countwurde 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:promptai_filter(Unterstützung für die Funktionprompt()und Bilddateien hinzugefügt und den Namen des zweiten Arguments vonexprinfilegeändert)ai_classify
Verbesserungen¶
Benennen Sie den Parameter
relaxed_orderinginenforce_orderingfürDataFrame.to_snowpark_pandasum. Außerdem lautet der neue Standardwertenforce_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 Parametersfetch_sizeauf 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.tablewurde reduziert.Verbesserte Leistung und Genauigkeit von
DataFrameAnalyticsFunctions.time_series_agg().
Fehlerkorrekturen¶
Ein Fehler in
DataFrame.group_by().pivot().aggwurde behoben, wenn die Pivotspalte und die aggregierte Spalte identisch sind.Ein Fehler in
DataFrameReader.dbapi(PrPr) wurde behoben, bei dem einTypeErrorausgelöst wurde, wenncreate_connectionein 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_tablebehoben, 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_intervalinDataFrameAnalyticsFunctions.time_series_agg().
Lokale Snowpark-Testaktualisierungen¶
Neue Features¶
Unterstützung für Intervall-Ausdrücke zu
Window.range_betweenhinzugefügt.Unterstützung für die Funktion
array_constructwurde 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.likeführte.Beim lokalen Testen wurde ein Fehler behoben, der dazu führte, dass
Column.getItemundsnowpark.snowflake.functions.getIndexErrorauslösten, anstattnullzurü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.mergein einer leeren Tabelle eine Ausnahme verursachte.
Snowpark Pandas API-Aktualisierungen¶
Aktualisierungen der Abhängigkeiten¶
modinvon 0.30.1 auf 0.32.0 aktualisiert.Unterstützung für
numpy2.0 und höher wurde hinzugefügt.
Neue Features¶
Unterstützung für
DataFrame.create_or_replace_viewundSeries.create_or_replace_viewhinzugefügt.Unterstützung für
DataFrame.create_or_replace_dynamic_tableundSeries.create_or_replace_dynamic_tablehinzugefügt.Unterstützung für
DataFrame.to_viewundSeries.to_viewhinzugefügt.Unterstützung für
DataFrame.to_dynamic_tableundSeries.to_dynamic_tablehinzugefügt.Unterstützung für
DataFrame.groupby.resamplefür die Aggregationenmax,mean,median,minundsumwurde hinzugefügt.Unterstützung für das Lesen von Stagingdateien wurde hinzugefügt:
pd.read_excelpd.read_htmlpd.read_picklepd.read_saspd.read_xml
Unterstützung für
DataFrame.to_icebergundSeries.to_iceberghinzugefügt.Unterstützung für dict-Werte in
Series.str.lenhinzugefügt.
Verbesserungen¶
Verbessern Sie die Leistung von
DataFrame.groupby.applyundSeries.groupby.apply, indem Sie den teuren Pivot-Schritt vermeiden.Eine Schätzung für die obere Grenze der Zeilenzahl wurde zu
OrderedDataFramehinzugefü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_orderinginenforce_orderinginpd.read_snowflakeum. Außerdem lautet der neue Standardwertenforce_ordering=False, was den gegenteiligen Effekt des vorherigen Standardwerts,relaxed_ordering=False, hat.
Fehlerkorrekturen¶
Ein Fehler für
pd.read_snowflakebeim Lesen von Iceberg-Tabellen undenforce_ordering=Truewurde behoben.
Version 1.30.0 (2025-03-27)¶
Neue Features¶
Unterstützung für lockere Konsistenz- und Ordnungsgarantien in
Dataframe.to_snowpark_pandasdurch Einführung des Parametersrelaxed_ordering.DataFrameReader.dbapi(Vorschau) akzeptiert jetzt eine Liste von Strings für den Parametersession_init_statement, so dass mehrere SQL-Anweisungen während der Sitzungsinitialisierung ausgeführt werden können.
Verbesserungen¶
Die Abfragegenerierung für
Dataframe.stat.sample_bywurde verbessert, um eine einzige flache Abfrage zu generieren, die bei einem großenfractions-Wörterbuch gut skaliert, verglichen mit der älteren Methode, für jeden Schlüssel infractionseine Unterabfrage UNION ALL zu erstellen. Um dieses Feature zu aktivieren, stellen Siesession.conf.set("use_simplified_query_generation", True)ein.Die Leistung von
DataFrameReader.dbapiwurde verbessert, indem die vektorisierte Option beim Kopieren einer Parkettdatei in eine Tabelle aktiviert wurde.Die Generierung von Abfragen für
DataFrame.random_splitwurde in folgenden Punkten verbessert Sie können durch die Einstellungsession.conf.set("use_simplified_query_generation", True)aktiviert werden:In der internen Implementierung des Eingabedatenrahmens ist es nicht mehr erforderlich,
cache_resultzu verwenden, was zu einer reinen Lazy-Dataframe-Operation führt.Das Argument
seedverhält sich jetzt wie erwartet mit wiederholbaren Ergebnissen über mehrere Aufrufe und Sitzungen hinweg.
DataFrame.fillnaundDataFrame.replaceunterstützen nun beide das Anpassen vonintundfloatinDecimal-Spalten, wenninclude_decimalaufTruegesetzt ist.Dokumentation für die folgenden UDF und Stored-Procedure-Funktionen in
files.pyals Ergebnis ihrer allgemeinen Verfügbarkeit hinzugefügt.SnowflakeFile.writeSnowflakeFile.writelinesSnowflakeFile.writeable
Kleinere Änderungen in der Dokumentation für
SnowflakeFileundSnowflakeFile.open().
Fehlerkorrekturen¶
Es wurde ein Bug bei den folgenden Funktionen behoben, der zu Fehlern führte.
.cast()wird auf deren Ausgabe angewendet:from_jsonsize
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_timestampbei 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. Wennfreqangegeben wird, werden die Standardwerte der Argumentesort,closed,labelundconventionunterstützt;originwird unterstützt, wenn esstartoderstart_dayist.Durch die Einführung des neuen Parameters
relaxed_orderingwurde die Unterstützung für entspannte Konsistenz- und Ordnungsgarantien inpd.read_snowflakesowohl 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_CASEgesetzt ist, und fordern Sie den Benutzer auf, die Einstellung rückgängig zu machen.Es wurde verbessert, wie ein fehlendes
index_labelinDataFrame.to_snowflakeundSeries.to_snowflakebehandelt wird, wennindex=True. Anstatt einenValueErrorzu melden, werden systemdefinierte Bezeichnungen für die Indexspalten verwendet.Die Fehlermeldung für
groupby,DataFrame, oderSeries.aggwurde verbessert, wenn der Funktionsname nicht unterstützt wird.
Lokale Snowpark-Testaktualisierungen¶
Verbesserungen¶
Geben Sie eine Warnung aus, wenn festgestellt wird, dass
QUOTED_IDENTIFIERS_IGNORE_CASEgesetzt ist, und fordern Sie den Benutzer auf, die Einstellung rückgängig zu machen.Es wurde verbessert, wie ein fehlendes
index_labelinDataFrame.to_snowflakeundSeries.to_snowflakebehandelt wird, wennindex=True. Anstatt einenValueErrorzu 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_filterai_aggsummarize_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_videoUnterstü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.0zu 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.describeeinen 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 mitsession.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, undSeries.to_snowflake, wenn die Tabelle nicht existiert.Verbessern Sie die Lesbarkeit des Docstring für den Parameter
if_existsinpd.to_snowflake,DataFrame.to_snowflakeundSeries.to_snowflake.Verbesserte Fehlermeldung für alle pandas-Funktionen, die UDFs mit Snowpark-Objekten verwenden.
Fehlerkorrekturen¶
Ein Fehler in
Series.rename_axiswurde behoben, bei dem einAttributeErrorausgelöst wurde.Ein Fehler wurde behoben, bei dem
pd.get_dummiesdie Werte NULL/NaN nicht standardmäßig ignorierte.Es wurde ein Fehler behoben, bei dem wiederholte Aufrufe von
pd.get_dummieszu „Duplicated column name error“ führten.Es wurde ein Fehler in
pd.get_dummiesbehoben, 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_betweenhinzugefügt.
Version 1.28.0 (2025-02-20)¶
Neue Features¶
Unterstützung für die folgenden Funktionen in
functions.pywurde hinzugefügt:normalrandn
Unterstützung für den Parameter
allow_missing_columnswurde zuDataframe.union_by_nameundDataframe.union_all_by_namehinzugefügt.
Verbesserungen¶
Die Generierung zufälliger Objektnamen wurde verbessert, um Kollisionen zu vermeiden.
Die Generierung von Abfragen für
Dataframe.distinctwurde verbessert, um SELECT DISTINCT anstelle von SELECT mit GROUP BY in allen Spalten zu generieren. Um dieses Feature zu deaktivieren, stellen Siesession.conf.set("use_simplified_query_generation", False)ein.
Veraltete Funktionen¶
Veraltete Snowpark Python-Funktion
snowflake_cortex_summarize. Benutzer könnensnowflake-ml-pythoninstallieren und stattdessen die Funktionsnowflake.cortex.summarizeverwenden.Veraltete Snowpark Python-Funktion
snowflake_cortex_sentiment. Benutzer könnensnowflake-ml-pythoninstallieren und stattdessen die Funktionsnowflake.cortex.sentimentverwenden.
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_pandaswurde behoben, bei dem beim Schreiben eines Snowpark-Pandas-Objekts der Parameteruse_logical_typefälschlicherweise anSession._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.catalogbehoben, 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
SummarizeundSentimentwurde hinzugefügt.Unterstützung für Listenwerte in
Series.str.getwurde hinzugefügt.
Fehlerkorrekturen¶
Ein Fehler in
applywurde 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
hourminute
Unterstützung für den Parameter NULL_IF wurde dem CSV Reader hinzugefügt.
Unterstützung für die Optionen
date_format,datetime_formatundtimestamp_formatbeim Laden von CSVs wurde hinzugefügt.
Fehlerkorrekturen¶
Es wurde ein Fehler in
DataFrame.joinbehoben, der dazu führte, dass Spalten falsch eingegeben wurden.Es wurde ein Fehler in
when-Anweisungen behoben, der zu falschen Ergebnissen in derotherwise-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_reversedivnullmap_catmap_contains_keymap_keysnullifzerosnowflake_cortex_sentimentacoshasinhatanhbit_lengthbitmap_bit_positionbitmap_bucket_numberbitmap_construct_aggcbrtequal_nullfrom_jsonifnulllocaltimestampmax_bymin_bynth_valuenvloctet_lengthpositionregr_avgxregr_avgyregr_countregr_interceptregr_r2regr_sloperegr_sxxregr_sxyregr_syytry_to_binarybase64base64_decode_stringbase64_encodeeditdistancehexhex_encodeinstrlog1plog2log10percentile_approxunbase64Unterstützung für die Angabe einer Schema-Zeichenfolge (einschließlich impliziter struct-Syntax) beim Aufruf von
DataFrame.create_dataframewurde hinzugefügt.Unterstützung von
DataFrameWriter.insert_into/insertIntohinzugefügt. Diese Methode unterstützt auch den lokalen Testmodus.Unterstützung für
DataFrame.create_temp_viewwurde 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_catundmap_concatwurde hinzugefügt.Es wurde eine Option
keep_column_orderhinzugefügt, um die ursprüngliche Spaltenreihenfolge inDataFrame.with_columnundDataFrame.with_columnsbeizubehalten.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 parameterwurde zuArrayTypehinzugefügt.Es wurde Unterstützung für die Erstellung einer temporären Ansicht über
DataFrame.create_or_replace_temp_viewaus einem DataFrame hinzugefügt, der durch Lesen einer Datei aus einem Stagingbereich erstellt wurde.Unterstützung für den Parameter
value_contains_nullwurde zuMapTypehinzugefügt.Interaktiv wurde zur Telemetrie hinzugefügt, die anzeigt, ob die aktuelle Umgebung eine interaktive ist.
Erlauben Sie
session.file.getin einer Native App, Dateipfade, die mit / beginnen, aus der aktuellen Version zu lesenUnterstützung für mehrere Aggregationsfunktionen nach
DataFrame.pivothinzugefügt.
Experimentelle Features¶
Die Klasse
Session.catalogwurde hinzugefügt, um Snowflake-Objekte zu verwalten. Sie kann überSession.catalogaufgerufen werden.snowflake.coreist 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_dataframewurde hinzugefügt.
Verbesserungen¶
README.mdwurde aktualisiert und enthält nun Anweisungen zur Überprüfung von Paketsignaturen mitcosign.
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_jsonwurde behoben, der verhinderte, dassTimestampTypesmittzinfokorrekt geparst wurde.Ein Fehler in
function date_formatwurde 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
replaceundlitbehoben, der bei der Übergabe von Column-Ausdrucksobjekten zu einem Fehler bei der Typ-Hinweis-Assertion führte.Ein Fehler in
pandas_udfundpandas_udtfwurde 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.callaufgerufen wurden.
Snowpark Pandas API-Aktualisierungen¶
Neue Features¶
Unterstützung für
Series.str.ljustundSeries.str.rjusthinzugefügt.Unterstützung von
Series.str.centerhinzugefügt.Unterstützung von
Series.str.padhinzugefügt.Unterstützung für die Anwendung der Snowpark Python-Funktion
snowflake_cortex_sentimentwurde hinzugefügt.Unterstützung von
DataFrame.maphinzugefügt.Unterstützung für
DataFrame.from_dictundDataFrame.from_recordshinzugefügt.Unterstützung für gemischte Groß- und Kleinschreibung von Feldnamen in Spalten vom Typ struct wurde hinzugefügt.
Unterstützung von
SeriesGroupBy.uniquehinzugefügt.Unterstützung von
Series.dt.strftimemit 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.betweenhinzugefügt.Unterstützung von
include_groups=FalseinDataFrameGroupBy.applyhinzugefügt.Unterstützung von
expand=TrueinSeries.str.splithinzugefügt.Unterstützung für
DataFrame.popundSeries.pophinzugefügt.Unterstützung für
firstundlastinDataFrameGroupBy.aggundSeriesGroupBy.agghinzugefügt.Unterstützung von
Index.drop_duplicateshinzugefügt.Unterstützung für Aggregationen
"count","median",np.median,"skew","std",np.std"var"undnp.varinpd.pivot_table(),DataFrame.pivot_table()undpd.crosstab()hinzugefügt.
Verbesserungen¶
Verbesserte Leistung der Methoden
DataFrame.map,Series.applyundSeries.mapdurch Zuordnung von Numpy-Funktionen zu Snowpark-Funktionen, wenn möglich.Dokumentation für
DataFrame.maphinzugefügt.Verbesserte Leistung von
DataFrame.applydurch 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.applyundDataFrame.map, wenn kein Typhinweis angegeben ist.call_countwurde zur Telemetrie hinzugefügt, wodurch Methodenaufrufe einschließlich Aufrufen des Interchange-Protokolls gezählt werden.