Versionshinweise zur Snowpark-Bibliothek für Python 2024¶
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 Verfallswarnungen ausgelöst. Weitere Details 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.26.0 (2024-12-05)¶
Neue Features¶
Unterstützung für die Eigenschaft
versionund die Klassenmethodeget_active_sessionfür die KlasseSessionhinzugefügt.Neue Methoden und Variablen wurden hinzugefügt, um die Handhabung von Datentypen und die JSON-Serialisierung/Deserialisierung zu verbessern:
Zu
DataType, seinen abgeleiteten Klassen undStructField:type_name: Gibt den Typnamen der Daten zurück.simple_string: Liefert eine einfache Zeichenfolgen-Darstellung der Daten.json_value: Gibt die Daten als JSON-kompatiblen Wert zurück.json: Konvertiert die Daten in eine JSON-Zeichenfolge.
Zu
ArrayType,MapType,StructField,PandasSeriesType,PandasDataFrameTypeundStructType:from_json: Ermöglicht die Erstellung dieser Typen aus JSON-Daten.
Zu
MapType:keyType: Schlüssel der KartevalueType: Werte der Karte
Unterstützung für die Methode
appNameinSessionBuilderwurde hinzugefügt.Unterstützung für das Argument
include_nullsinDataFrame.unpivotwurde hinzugefügt.Unterstützung für folgende Funktionen in
functions.pywurde hinzugefügt:size, um die Größe von Array-, Objekt- oder Zuordnungsspalten zu ermitteln.collect_listein Alias vonarray_agg.concat_ws_ignore_nulls, um Zeichenfolgen mit einem Trennzeichen zu verketten, wobei Nullwerte ignoriert werden.substringmacht das Argumentlenoptional.
Der Parameter
ast_enabledwurde für die interne Verwendung zur Sitzung hinzugefügt (Standard:False).
Verbesserungen¶
Unterstützung für die Angabe von Folgendem in
DataFrame.create_or_replace_dynamic_tablehinzugefügt:iceberg_configEin Wörterbuch, das die folgenden Optionen der Iceberg-Konfiguration enthalten kann:external_volumecatalogbase_locationcatalog_syncstorage_serialization_policy
Unterstützung für verschachtelte Datentypen zu
DataFrame.print_schemahinzugefügtUnterstützung für den Parameter
levelzuDataFrame.print_schemahinzugefügtVerbesserte Flexibilität von
DataFrameReader- undDataFrameWriter-API durch Hinzufügen von Unterstützung für Folgendes:Methode
formatwurde zuDataFrameReaderundDataFrameWriterhinzugefügt, um das Dateiformat beim Laden oder Entladen von Ergebnissen anzugeben.Methode
loadwurde zuDataFrameReaderhinzugefügt, damit sie in Verbindung mitformatfunktioniert.Methode
savewurde zuDataFrameWriterhinzugefügt, damit sie in Verbindung mitformatfunktioniert.Unterstützung für das Lesen von Schlüsselwortargumenten in der Methode
optionsfürDataFrameReaderundDataFrameWriterwurde hinzugefügt.
Die Cloudpickle-Abhängigkeit für Python 3.11 wurde gelockert, um die Build-Anforderungen zu vereinfachen. Für Python 3.11 bleibt
cloudpickle==2.2.1jedoch die einzige unterstützte Version.
Fehlerkorrekturen¶
Warnungen, dass das dynamische Pivot-Feature in der privaten Vorschau ist, wurden entfernt, da dynamisches Pivot jetzt allgemein verfügbar ist.
Es wurde ein Fehler in
session.read.optionsbehoben, bei dem die booleschen Werte vonFalseim generierten Dateiformat fälschlicherweise alsTruegeparst wurden.
Aktualisierungen der Abhängigkeiten¶
Es wurde eine Laufzeit-Abhängigkeit von
python-dateutilhinzugefügt.
Snowpark Pandas API-Aktualisierungen¶
Neue Features¶
Teilweise Unterstützung für
Series.maphinzugefügt, wennargein PandasSeriesoder eincollections.abc.Mappingist. Keine Unterstützung für Instanzen vondict, die__missing__implementieren, aber keine Instanzen voncollections.defaultdictsind.Unterstützung für
DataFrame.alignundSeries.alignwurde füraxis=1undaxis=Nonehinzugefügt.Unterstützung von
pd.json_normalizehinzugefügt.Unterstützung für
GroupBy.pct_changemitaxis=0,freq=Noneundlimit=Nonewurde hinzugefügt.Unterstützung für
DataFrameGroupBy.__iter__undSeriesGroupBy.__iter__hinzugefügt.Unterstützung für
np.sqrt,np.trunc,np.floor, numpy trig-Funktionen,np.exp,np.abs,np.positiveundnp.negativewurde hinzugefügt.Teilweise Unterstützung für die Dataframe Interchange Protocol-Methode
DataFrame.__dataframe__()hinzugefügt.
Fehlerkorrekturen¶
In
df.locwurde ein Fehler behoben, bei dem das Setzen einer einzelnen Spalte aus einer Serie zu unerwartetenNone-Werten führte.
Verbesserungen¶
Verwenden Sie UNPIVOT INCLUDE NULLS für Unpivot-Operationen in Pandas anstelle von Sentinel-Werten.
Verbesserte Dokumentation für
pd.read_excel.
Version 1.25.0 (2024-11-13)¶
Neue Features¶
Die folgenden neuen Funktionen wurden in
snowflake.snowpark.dataframehinzugefügt:map
Verbesserungen¶
Wenn der Ziel-Stagingbereich im Profiler nicht festgelegt ist, wird ein Standard-Stagingbereich von
Session.get_session_stageverwendet, anstattSnowparkSQLExceptionauszulösen.Erlaubt die Eingabe von Kleinbuchstaben oder gemischter Großschreibung beim Aufruf von
Session.stored_procedure_profiler.set_active_profiler.Verteilte Ablaufverfolgung unter Verwendung der offenen Telemetrie-APIs für die Aktionsfunktion in
DataFramehinzugefügt:cache_result
Die offene Telemetrie-Warnung wurde aus der Protokollierung entfernt.
Fehlerkorrekturen¶
Die Weitergabe von Abfragen vor und nach der Aktion wurde korrigiert, wenn
In-Ausdrücke in Selects verwendet wurden.Es wurde ein Fehler behoben, der den Fehler
AttributeErrorbeim Aufruf vonSession.stored_procedure_profiler.get_outputauslöste, wennSession.stored_procedure_profilerdeaktiviert ist.
Aktualisierungen der Abhängigkeiten¶
Zur Laufzeit wurde eine Abhängigkeit von
protobuf>=5.28undtzlocalhinzugefügt.Für das Entwicklungsprofil wurde eine Abhängigkeit von
protoc-wheel-0hinzugefügt.Benötigt
snowflake-connector-python>=3.12.0, <4.0.0(war>=3.10.0).
Snowpark Pandas API-Aktualisierungen¶
Neue Features¶
Unterstützung von
Index.to_numpyhinzugefügt.Unterstützung von
DataFrame.alignundSeries.alignfüraxis=0hinzugefügt.Unterstützung von
snowflake.snowpark.functions.windowhinzugefügt.Unterstützung für
pd.read_picklehinzugefügt (verwendet natives Pandas für die Verarbeitung).Unterstützung für
pd.read_htmlhinzugefügt (verwendet natives Pandas für die Verarbeitung).Unterstützung für
pd.read_xmlhinzugefügt (verwendet natives Pandas für die Verarbeitung).Unterstützung für die Aggregationsfunktionen
"size"undleninGroupBy.aggregate,DataFrame.aggregateundSeries.aggregatehinzugefügt.Unterstützung für Listenwerte in
Series.str.lenwurde hinzugefügt.
Fehlerkorrekturen¶
Es wurde ein Fehler behoben, bei dem die Aggregation eines einspaltigen Datenrahmens mit einer einzigen aufrufbaren Funktion (z. B.
pd.DataFrame([0]).agg(np.mean)) das Ergebnis nicht transponieren konnte.Es wurden Fehler behoben, bei denen
DataFrame.dropna()zu Folgendem führte:Leeres
subset(z. B.[]) so behandeln, als ob es alle Spalten statt keine Spalten angibt.TypeErrorfür ein skalaressubsetauslösen, anstatt nur nach dieser Spalte zu filtern.ValueErrorfür einsubsetvom Typpandas.Indexauslösen, anstatt nach den Spalten im Index zu filtern.
Erstellung von schreibgeschützten Bereichstabellen, um
TableNotFoundErrorbei der Verwendung von dynamischem Pivot in einer Notebook-Umgebung abzufangen.Ein Fehler wurde behoben, der auftrat, wenn verkettete Datenrahmen- oder Serienobjekte aus demselben Datenrahmen stammen, wenn Achse = 1.
Verbesserungen¶
Verbesserung von
np.wheremit skalarem x-Wert, indem unnötige Verknüpfungen und die Erstellung von temporären Tabellen eliminiert wurden.Verbesserung der Leistung von
get_dummies, indem Pivot mit Verknüpfung vereinfacht wurde.
Lokale Snowpark-Testaktualisierungen¶
Neue Features¶
Es wurde Unterstützung für Patching-Funktionen hinzugefügt, die im Modul
snowflake.snowpark.functionsnicht verfügbar sind.Unterstützung von
snowflake.snowpark.functions.any_valuehinzugefügt.
Fehlerkorrekturen¶
Es wurde ein Fehler behoben, bei dem
Table.updatenicht mit den DatentypenVariantType,MapTypeundArrayTypeumgehen konnte.Es wurde ein Fehler behoben, bei dem Spalten-Aliase in
DataFrame.joinnicht korrekt aufgelöst wurden, was zu Fehlern bei der Auswahl von Spalten aus einem verknüpften DataFrame führte.Es wurde ein Fehler behoben, bei dem
Table.updateundTable.mergefehlschlagen konnten, wenn der Index der Zieltabelle nicht der StandardindexRangeIndexwar.
Version 1.24.0 (2024-10-28)¶
Neue Features¶
Die Klasse
Sessionwurde aktualisiert, damit sie thread-sicher ist. Dies ermöglicht gleichzeitige DataFrame-Transformationen, DataFrame-Aktionen, UDF und gespeicherte Prozedurregistrierungen sowie gleichzeitige Datei-Uploads bei Verwendung desselbenSession-Objekts.Das Feature ist standardmäßig deaktiviert und kann durch die Einstellung
FEATURE_THREAD_SAFE_PYTHON_SESSIONaufTruefür Konten aktiviert werden.Das Aktualisieren von Sitzungskonfigurationen, wie das Ändern der Datenbank oder des Schemas, wenn mehrere Threads die Sitzung verwenden, kann zu unerwarteter Verhaltensweise führen.
Wenn diese Funktion aktiviert ist, sind einige intern erstellte temporäre Tabellennamen, die von
DataFrame.queries-API zurückgegeben werden, nicht deterministisch und können sich bei der Ausführung von DataFrame-Aktionen ändern. Dies hat keine Auswirkungen auf explizite, vom Benutzer erstellte temporäre Tabellen.
Unterstützung für die Domäne ‚Service‘ zu
session.lineage.traceAPI hinzugefügt.Unterstützung für die folgenden Methoden in
DataFrameWriterhinzugefügt, um Daisy-Chaining zu unterstützen:optionoptionspartition_by
Unterstützung von
snowflake_cortex_summarizehinzugefügt.
Verbesserungen¶
Die folgende neue Fähigkeit für die Funktion
snowflake.snowpark.functions.array_removewurde verbessert, so dass sie nun in Python verwendet werden kann.Deaktiviert SQL-Vereinfachung, wenn die Sortierung nach dem Limit durchgeführt wird.
Zuvor generierten
df.sort().limit()unddf.limit().sort()dieselbe Abfrage mit Sortierung vor dem Limit. Nun erzeugtdf.limit().sort()eine Abfrage, diedf.limit().sort()lautet.Verbesserte Leistung der generierten Abfragen für
df.limit().sort(), da das Limit die Tabellenabfrage stoppt, sobald die Anzahl der Datensätze erreicht ist.
Fehlerkorrekturen¶
Es wurde ein Fehler behoben, bei dem die automatische Bereinigung von temporären Tabellen die Ergebnisse der asynchronen Ausführung von Abfragen beeinträchtigen konnte.
Es wurde ein Fehler in der Funktion
DataFrame.analytics.time_series_aggbehoben, um mehrere Datenpunkte im gleichen gleitenden Intervall zu behandeln.Es wurde ein Fehler behoben, der zu inkonsistenter Groß- und Kleinschreibung in Feldnamen von strukturierten Objekten in Iceberg-Schemata führte.
Veraltete Funktionen¶
Da Python 3.8 sein End of Life erreicht hat, werden bei der Verwendung von snowpark-python mit Python 3.8 Verfallswarnungen ausgelöst. Weitere Details dazu finden Sie unter Unterstützung der Snowflake-Python-Laufzeitumgebung.
Snowpark 1.24.0 ist die letzte Client- und Serverversion, 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.
Snowpark Pandas API-Aktualisierungen¶
Neue Features¶
Unterstützung für
np.subtract,np.multiply,np.divideundnp.true_dividehinzugefügt.Unterstützung für die Verfolgung der Nutzung von
__array_ufunc__wurde hinzugefügt.Unterstützung für Numpy-Kompatibilität für
np.float_power,np.mod,np.remainder,np.greater,np.greater_equal,np.less,np.less_equal,np.not_equalundnp.equalhinzugefügt.Unterstützung von Numpy-Kompatibilität für
np.log,np.log2undnp.log10hinzugefügt.Unterstützung für
DataFrameGroupBy.bfill,SeriesGroupBy.bfill,DataFrameGroupBy.ffillundSeriesGroupBy.ffillhinzugefügt.Unterstützung für den Parameter
onmitResamplerwurde hinzugefügt.Unterstützung für Timedelta-Eingaben in
value_counts()wurde hinzugefügt.Unterstützung für die Anwendung der Snowpark Python-Funktion
snowflake_cortex_summarizewurde hinzugefügt.Unterstützung für
DataFrame.attrsundSeries.attrshinzugefügt.Unterstützung von
DataFrame.stylehinzugefügt.Unterstützung für Numpy-Kompatibilität hinzugefügt für
np.full_like
Verbesserungen¶
Verbesserte generierte SQL-Abfrage für
headundiloc, wenn der Zeilenschlüssel ein Slice ist.Verbesserte Fehlermeldung bei der Übergabe einer unbekannten Zeitzone an
tz_convertundtz_localizeinSeries,DataFrame,Series.dtundDatetimeIndex.Verbesserte Dokumentation für
tz_convertundtz_localizeinSeries,DataFrame,Series.dtundDatetimeIndexzur Angabe der unterstützten Zeitzonenformate.Zusätzliche kwargs-Unterstützung für
df.applyundseries.apply(sowiemapundapplymap) bei der Verwendung von Snowpark-Funktionen wurde hinzugefügt. Dies ermöglicht eine gewisse positionsunabhängige Kompatibilität zwischen Anwenden und Funktionen, bei denen das erste Argument kein Pandas-Objekt ist.Verbesserte generierte SQL-Abfrage für
ilocundiat, wenn der Zeilenschlüssel ein Skalar ist.Alle Verknüpfungen in
iterrowswurden entfernt.Die Dokumentation für
Series.mapwurde verbessert, um die nicht unterstützten Features zu berücksichtigen.Unterstützung für
np.may_share_memorywurde hinzugefügt, das intern von vielen scikit-learn-Funktionen verwendet wird. Diese Methode gibt immer false zurück, wenn sie mit einem Snowpark Pandas-Objekt aufgerufen wird.
Fehlerkorrekturen¶
Es wurde ein Fehler behoben, bei dem
DataFrameundSeriespct_change()den FehlerTypeErrorauslösten, wenn die Eingabe Spalten mit Zeitdeltas enthielt.Es wurde ein Fehler behoben, durch den
replace()manchmalTimedelta-Typen nicht korrekt überreplace()weitergegeben hat. Stattdessen wirdNotImplementedErrorfürreplace()aufTimedeltaausgelöst.Es wurde ein Fehler behoben, bei dem
DataFrameundSeriesround()den FehlerAssertionErrorfürTimedelta-Spalten ausgelöst hätte. Stattdessen wirdNotImplementedErrorfürround()aufTimedeltaausgelöst.Es wurde ein Fehler behoben, bei dem
reindexfehlschlägt, wenn der neue Index eine Serie ist, deren Typen sich nicht mit denen des ursprünglichen Indexes überschneiden.Es wurde ein Fehler behoben, bei dem der Aufruf von
__getitem__für ein DataFrameGroupBy-Objekt immer ein DataFrameGroupBy-Objekt zurückgab, wennas_index=False.Es wurde ein Fehler behoben, durch den beim Einfügen von Timedelta-Werten in eine bestehende Spalte die Werte stillschweigend in Ganzzahlen umgewandelt wurden, anstatt
NotImplementedErrorauszulösen.Es wurde ein Fehler behoben, bei dem
DataFrame.shift()auf axis=0 und axis=1 keine Timedelta-Typen übertragen konnte.DataFrame.abs(),DataFrame.__neg__(),DataFrame.stack()undDataFrame.unstack()lösen jetztNotImplementedErrorfür Zeitdelta-Eingaben aus, anstatt die Zeitdelta-Typen nicht zu übertragen.
Lokale Snowpark-Testaktualisierungen¶
Fehlerkorrekturen¶
Es wurde ein Fehler behoben, bei dem
DataFrame.aliasden FehlerKeyErrorfür den Namen der Eingabespalte auslöst.Es wurde ein Fehler behoben, bei dem
to_csvim Stagingbereich von Snowflake fehlschlägt, wenn die Daten leere Zeichenfolgen enthalten.
Version 1.23.0 (09.10.2024)¶
Neue Features¶
Die folgenden neuen Funktionen wurden in
snowflake.snowpark.functionshinzugefügt:make_interval
Es wurde Unterstützung für die Verwendung von Snowflake-Intervallkonstanten mit
Window.range_between()hinzugefügt, wenn die Spaltenreihenfolge TIMESTAMP oder DATE ist.Unterstützung für das Schreiben von Dateien wurde hinzugefügt. Dieses Feature befindet sich derzeit in der privaten Vorschau.
thread_idwurde zuQueryRecordhinzugefügt, um die Thread-ID zu verfolgen, die den Verlauf der Abfrage übermittelt.Unterstützung von
Session.stored_procedure_profilerhinzugefügt.
Fehlerkorrekturen¶
Es wurde ein Fehler korrigiert, bei dem die Registrierung einer gespeicherten Prozedur oder UDxF mit Typhinweisen eine
NoneType-Warnung ergab und keinlen()enthält, wenn versucht wurde, Standardwerte aus einer Funktion zu lesen.
Snowpark Pandas API-Aktualisierungen¶
Neue Features¶
Unterstützung für die Methode
TimedeltaIndex.meanhinzugefügt.Unterstützung für einige Fälle der Aggregation von
Timedelta-Spalten füraxis=0mitaggoderaggregatehinzugefügt.Unterstützung für
by,left_by,right_by,left_index, undright_indexfürpd.merge_asofhinzugefügt.Unterstützung für die Übergabe des Parameters
include_describeanSession.query_historyhinzugefügt.Unterstützung für die Methoden
DatetimeIndex.meanundDatetimeIndex.stdhinzugefügt.Unterstützung für
Resampler.asfreq,Resampler.indices,Resampler.nuniqueundResampler.quantilehinzugefügt.Unterstützung für die
resample-FrequenzW,ME,YEmitclosed = "left"hinzugefügt.Unterstützung für
DataFrame.rolling.corrundSeries.rolling.corrfürpairwise = Falseund intwindowhinzugefügt.Unterstützung für zeitbasierte Zeichenfolgen
windowundmin_periods = NonefürRollinghinzugefügt.Unterstützung für
DataFrameGroupBy.fillnaundSeriesGroupBy.fillnahinzugefügt.Unterstützung für die Konstruktion von
Series- undDataFrame-Objekten mit dem lazyIndex-Objekt alsdata,index- undcolumns-Argumente hinzugefügt.Unterstützung für die Konstruktion von
Series- undDataFrame-Objekten mitindexundcolumn-Werten hinzugefügt, die nicht inDataFrame/Seriesdatavorhanden sind.Unterstützung für
pd.read_sashinzugefügt (verwendet natives Pandas für die Verarbeitung).Unterstützung für die Anwendung von
rolling().count()undexpanding().count()aufTimedelta-Serien und -Spalten hinzugefügt.Unterstützung für
tzsowohl inpd.date_rangeals auchpd.bdate_rangehinzugefügt.Unterstützung von
Series.itemshinzugefügt.Unterstützung von
errors="ignore"inpd.to_datetimehinzugefügt.Unterstützung für
DataFrame.tz_localizeundSeries.tz_localizehinzugefügt.Unterstützung für
DataFrame.tz_convertundSeries.tz_converthinzugefügt.Unterstützung für die Anwendung von Snowpark Python-Funktionen (z. B.
sin) inSeries.map,Series.apply,DataFrame.applyundDataFrame.applymaphinzugefügt.
Verbesserungen¶
Verbesserung von
to_pandas, sodass das ursprüngliche Zeitzonen-Offset für den Typ TIMESTAMP_TZ beibehalten wird.Verbesserung von
dtype-Ergebnissen für den Typ TIMESTAMP_TZ, um das korrekte Zeitzonen-Offset anzuzeigen.Verbesserung von
dtype-Ergebnissen für den Typ TIMESTAMP_LTZ, um die richtige Zeitzone anzuzeigen.Verbesserte Fehlermeldung bei der Übergabe von Nicht-Bool-Werten an
numeric_onlyfür group by-Aggregationen.Unnötige Warnung über den Sortieralgorithmus in
sort_valuesentfernt.Das SCOPED-Objekt wird für die interne Erstellung von temporären Tabellen verwendet. Die SCOPED-Objekte sind von einer sproc-Methode abhängig, wenn sie in der sproc-Methode erstellt wurden. Anderenfalls sind sie von einer Sitzung abhängig, und das Objekt wird am Ende des Bereichs automatisch gelöscht.
Verbesserte Warnmeldungen für Operationen, die zu einer unerwünschten Verlangsamung der Materialisierung führen.
Unnötige Warnmeldung über
convert_dtypeinSeries.applyentfernt.
Fehlerkorrekturen¶
Korrektur eines Fehlers, bei dem ein
Index-Objekt, das aus einemSeries/DataFrameerstellt wurde, den Indexnamen vonSeries/DataFramefalsch aktualisiert, nachdem eine Inplace-Aktualisierung auf das ursprünglicheSeries/DataFrameangewendet worden war.Unterdrückt eine nicht hilfreiche
SettingWithCopyWarning, die manchmal beim Drucken vonTimedelta-Spalten erschien.Korrektur des
inplace-Arguments fürSeries-Objekte, die von anderenSeries-Objekten abgeleitet sind.Korrektur eines Fehlers, bei dem
Series.sort_valuesfehlschlug, wenn sich der Name der Serie mit dem Namen der Indexspalte überschnitt.Korrektur eines Fehlers, bei dem das Transponieren eines Dataframes die Zuordnung von
Timedelta-Indexebenen zu Ganzzahl-Spaltenebenen zur Folge hatte.Korrektur eines Fehlers, bei dem die
Resampler-Methoden für Timedelta-Spalten Ganzzahl-Ergebnisse lieferten.Korrektur eines Fehlers, bei dem
pd.to_numeric()dieTimedelta-Eingaben alsTimedeltabelassen hat, anstatt sie in Ganzzahlen umzuwandeln.Korrektur der
loc-Einstellung bei der Einstellung einer einzelnen Zeile oder mehrerer Zeilen eines DataFrame mit einem Serienwert.
Version 1.22.1 (11.09.2024)¶
Dies ist ein Re-Release von 1.22.0. Den detaillierten Inhalt des Release 1.22.0 entnehmen Sie bitte den Versionshinweisen.
Version 1.22.0 (10.09.2024)¶
Neue Features¶
Die folgenden neuen Funktionen wurden in
snowflake.snowpark.functionshinzugefügt:array_removeln
Verbesserungen¶
Die Dokumentation für
Session.write_pandaswurde verbessert, indem die Optionuse_logical_typedeutlicher hervorgehoben wird.Unterstützung für die Angabe von Folgendem in
DataFrameWriter.save_as_tablehinzugefügt:enable_schema_evolutiondata_retention_timemax_data_extension_timechange_trackingcopy_grantsiceberg_config– Ein Wörterbuch, das die folgenden Optionen der Iceberg-Konfiguration enthalten kann:external_volumecatalogbase_locationcatalog_syncstorage_serialization_policy
Unterstützung für die Angabe von Folgendem in
DataFrameWriter.copy_into_tablehinzugefügt:iceberg_config– Ein Wörterbuch, das die folgenden Optionen der Iceberg-Konfiguration enthalten kann:external_volumecatalogbase_locationcatalog_syncstorage_serialization_policy
Unterstützung für die Angabe der folgende Parameter in
DataFrame.create_or_replace_dynamic_tablehinzugefügt:moderefresh_modeinitializeclustering_keysis_transientdata_retention_timemax_data_extension_time
Fehlerkorrekturen¶
Korrektur eines Fehlers in
session.read.csv, der einen Fehler bei der Einstellung vonPARSE_HEADER = Truein einem extern definierten Dateiformat verursachte.Korrektur eines Fehlers bei der Generierung von Abfragen aus festgelegten Operationen, der die Generierung von doppelten Abfragen ermöglichte, wenn untergeordnete Elemente gemeinsame Unterabfragen haben.
Korrektur eines Fehlers in
session.get_session_stage, der nach einem Wechsel der Datenbank oder des Schemas auf einen nicht existierenden Stagingbereich verwies.Korrektur eines Fehlers, bei dem der Aufruf von
DataFrame.to_snowpark_pandasohne explizite Initialisierung des Snowpark Pandas-Plugins einen Fehler verursachte.Korrektur eines Fehlers, bei dem die Verwendung der Funktion
explodebei der dynamischen Tabellenerstellung einen SQL-Kompilierungsfehler verursachte, der auf ein falsches Casting des booleschen Typs für den Parameterouterzurückzuführen war.
Lokale Snowpark-Testaktualisierungen¶
Neue Features¶
Unterstützung für Typenzwang bei der Übergabe von Spalten als Eingabe für UDF-Aufrufe hinzugefügt.
Unterstützung von
Index.identicalhinzugefügt.
Fehlerkorrekturen¶
Korrektur eines Fehlers, bei dem der Kürzungsmodus in
DataFrameWriter.save_as_tablenicht korrekt mit DataFrames umging, die nur eine Teilmenge der Spalten der vorhandenen Tabelle enthielten.Korrektur eines Fehlers, bei dem die Funktion
to_timestampdie Standardzeitzone des Spaltendatentyps nicht einstellt.
Snowpark Pandas API-Aktualisierungen¶
Neue Features¶
Beschränkte Unterstützung für den Typ
Timedelta, einschließlich der folgenden Funktionen hinzugefügt. Snowpark Pandas erhöhtNotImplementedErrorfür nicht unterstützteTimedelta-Anwendungsfälle.Unterstützung für die Verfolgung des
Timedelta-Typs durchcopy,cache_result,shift,sort_index,assign,bfill,ffill,fillna,compare,diff,drop,dropna,duplicated,empty,equals,insert,isin,isna,items,iterrows,join,len,mask,melt,merge,nlargest,nsmallest,to_pandas.Unterstützung für die Konvertierung von Nicht-Timedelta in Timedelta über
astype.NotImplementedErrorwird für die übrigen Methoden, dieTimedeltanicht unterstützen, ausgelöst.Unterstützung für die Subtraktion von zwei Zeitstempeln, um ein
Timedeltazu erhalten.Unterstützung der Indizierung mit
Timedelta-Datenspalten.Unterstützung für das Hinzufügen oder Subtrahieren von Zeitstempeln und
Timedelta.Unterstützung für binäre Arithmetik zwischen zwei
Timedelta-Werten.Unterstützung für binäre Arithmetik und Vergleiche zwischen
Timedelta-Werten und numerischen Werten.Unterstützung für Lazy-
TimedeltaIndex.Unterstützung für
pd.to_timedelta.Unterstützung für
GroupBy-Aggregationenmin,max,mean,idxmax,idxmin,std,sum,median,count,any,all,size,nunique,head,tail,aggregate.Unterstützung für
GroupBy-Filtrationenfirstundlast.Unterstützung für
TimedeltaIndex-Attribute:days,seconds,microsecondsundnanoseconds.Unterstützung für
diffmit Zeitstempelspalten aufaxis=0undaxis=1.Unterstützung für
TimedeltaIndex-Methoden:ceil,floorundround.Unterstützung für die
TimedeltaIndex.total_seconds-Methode.
Unterstützung für die arithmetischen und vergleichenden Operatoren des Index hinzugefügt.
Unterstützung von
Series.dt.roundhinzugefügt.Dokumentationsseiten für
DatetimeIndexhinzugefügt.Unterstützung für
Index.name,Index.names,Index.renameundIndex.set_nameshinzugefügt.Unterstützung von
Index.__repr__hinzugefügt.Unterstützung für
DatetimeIndex.month_nameundDatetimeIndex.day_namehinzugefügt.Unterstützung für
Series.dt.weekday,Series.dt.timeundDatetimeIndex.timehinzugefügt.Unterstützung für
Index.minundIndex.maxhinzugefügt.Unterstützung von
pd.merge_asofhinzugefügt.Unterstützung für
Series.dt.normalizeundDatetimeIndex.normalizehinzugefügt.Unterstützung für
Index.is_boolean,Index.is_integer,Index.is_floating,Index.is_numericundIndex.is_objecthinzugefügt.Unterstützung für
DatetimeIndex.round,DatetimeIndex.floorundDatetimeIndex.ceilhinzugefügt.Unterstützung für
Series.dt.days_in_monthundSeries.dt.daysinmonthhinzugefügt.Unterstützung für
DataFrameGroupBy.value_countsundSeriesGroupBy.value_countshinzugefügt.Unterstützung für
Series.is_monotonic_increasingundSeries.is_monotonic_decreasinghinzugefügt.Unterstützung für
Index.is_monotonic_increasingundIndex.is_monotonic_decreasinghinzugefügt.Unterstützung von
pd.crosstabhinzugefügt.Unterstützung für
pd.bdate_rangehinzugefügt und Unterstützung für Geschäftshäufigkeit (B, BME, BMS, BQE, BQS, BYE, BYS) sowohl fürpd.date_rangeals auchpd.bdate_rangeeinbezogen.Unterstützung für Lazy-
Index-Objekte alslabelsinDataFrame.reindexundSeries.reindexhinzugefügt.Unterstützung für
Series.dt.days,Series.dt.seconds,Series.dt.microsecondsundSeries.dt.nanosecondshinzugefügt.Unterstützung für die Erstellung eines
DatetimeIndexaus einemIndexvom Typ numerisch oder Zeichenfolge hinzugefügt.Unterstützung für die Indizierung von Zeichenfolgen mit
Timedelta-Objekten hinzugefügt.Unterstützung für die Methode
Series.dt.total_secondshinzugefügt.
Verbesserungen¶
Die Concat- und Join-Leistung wurde verbessert, wenn Operationen für eine Serie durchgeführt werden, die von demselben DataFrame stammt, indem unnötige Joins vermieden wurden.
quoted_identifier_to_snowflake_typewurde überarbeitet, um Abfragen von Metadaten zu vermeiden, wenn die Typen lokal zwischengespeichert wurden.Verbesserung von
pd.to_datetime, um alle lokalen Eingaben zu verarbeiten.Erstellung eines Lazy-Index aus einem anderen Lazy-Index, ohne Daten zum Client zu ziehen.
Auslösung eines
NotImplementedErrorfür bitweise Indexoperatoren.Anzeige einer verständlicheren Fehlermeldung, wenn
Index.namesauf ein nicht listenähnliches Objekt festgelegt ist.Auslösung einer Warnung, wenn
MultiIndex-Werte lokal abgerufen werden.Verbesserte Warnmeldung für
pd.read_snowflake, um nun auch den Grund für die Erstellung zu enthalten, wenn die Erstellung einer temporären Tabelle ausgelöst wird.Verbesserte Leistung für
DataFrame.set_indexoder die EinstellungDataFrame.indexoderSeries.indexdurch Vermeidung von Überprüfungen, die eine Eager-Evaluation erfordern. Wenn der neue Index nicht mit der aktuellenSeries- oderDataFrame-Objektlänge übereinstimmt, wird folglich keinValueErrormehr ausgelöst. Wenn dasSeries- oderDataFrame-Objekt länger als der angegebene Index ist, wird der neueSeries- oderDataFrame-Index stattdessen mitNaN-Werten für die „zusätzlichen“ Elemente gefüllt. Anderenfalls werden die zusätzlichen Werte im angegebenen Index ignoriert.
Fehlerkorrekturen¶
Nanosekunden werden in
pd.Timedelta-Skalaren nicht mehr ignoriert.Korrektur von
AssertionErrorim Strukturbaum von binären Operationen.Korrektur eines Fehlers in
Series.dt.isocalendarbei Verwendung einer benannten SerieKorrektur des
inplace-Arguments für Serienobjekte, die von DataFrame-Spalten abgeleitet sind.Korrektur eines Fehlers, bei dem
Series.reindexundDataFrame.reindexden Namen des Ergebnisindexes nicht korrekt aktualisiert haben.Korrektur eines Fehlers, bei dem
Series.takekeinen Fehler anzeigte, wennaxis=1angegeben war.
Version 1.21.1 (05.09.2024)¶
Fehlerkorrekturen¶
Korrektur eines Fehlers, bei dem die Verwendung von
to_pandas_batchesmit asynchronen Abfragen zu einem Fehler führte, da das Warten auf den Abschluss einer asynchronen Abfrage nicht korrekt behandelt wurde.
Version 1.21.0 (19.08.2024)¶
Neue Features¶
Unterstützung für
snowflake.snowpark.testing.assert_dataframe_equalhinzugefügt, eine Funktion zur Überprüfung der Gleichheit zweier Snowpark DataFrames.
Verbesserungen¶
Unterstützung für serverseitige Beschränkungen der Zeichenfolgengröße hinzugefügt.
Unterstützung für das Erstellen und Aufrufen von gespeicherten Prozeduren, UDFs und UDTFs mit optionalen Argumenten hinzugefügt.
Unterstützung für die Spaltenabfolge in der
DataFrame.lineage.trace-API hinzugefügt.Unterstützung für die Übergabe von
INFER_SCHEMA-Optionen anDataFrameReaderüberINFER_SCHEMA_OPTIONShinzugefügt.Unterstützung für die Übergabe des Parameters
parametersanColumn.rlikeundColumn.regexphinzugefügt.Unterstützung für die automatische Bereinigung von temporären Tabellen hinzugefügt, die von
df.cache_result()in der aktuellen Sitzung erstellt wurden, wenn der DataFrame nicht mehr referenziert wird (d. h. Abrufen von Garbage Collect). Es handelt sich noch um eine experimentelle Funktion, die nicht standardmäßig aktiviert ist. Sie kann durch Einstellen vonsession.auto_clean_up_temp_table_enabledaufTrueaktiviert werden.Unterstützung für Zeichenfolgenliterale für den Parameter
fmtvonsnowflake.snowpark.functions.to_datehinzugefügt.
Fehlerkorrekturen¶
Korrektur eines Fehlers, bei dem die für die Auswahl der Spalte
*generierte SQL eine falsche Unterabfrage enthält.Korrektur eines Fehlers in
DataFrame.to_pandas_batches, bei dem der Iterator einen Fehler auslösen konnte, wenn eine bestimmte Transformation des Pandas DataFrame aufgrund der falschen Isolationsstufe vorgenommen wurde.Korrektur eines Fehlers in
DataFrame.lineage.trace, um den Namen und die Version der zitierten Funktionsansicht korrekt aufzuteilen.Korrektur eines Fehlers in
Column.isin, der dazu führte, dass SQL ungültig wurde, wenn eine leere Liste übergeben wurde.Korrektur eines Fehlers, der bei der Einstellung einer Zelle mit einem listenähnlichen Element
NotImplementedErrornicht auslöst.
Lokale Snowpark-Testaktualisierungen¶
Neue Features¶
Unterstützung von folgenden APIs hinzugefügt:
snowflake.snowpark.functionsrankdense_rankpercent_rankcume_distntiledatediffarray_agg
snowflake.snowpark.column.Column.within_group
Unterstützung für das Parsen von Flags in Regex-Anweisungen für Mock-Pläne hinzugefügt. Dies wahrt die Parität der oben genannten Änderungen von
rlikeundregexp.
Fehlerkorrekturen¶
Korrektur eines Fehlers, bei dem die Fensterfunktionen
LEADundLAGdie Optionignore_nullsnicht richtig behandeln.Korrektur eines Fehlers, bei dem während des Einfügens einer Operation zur Zusammenführung von Tabellen die Werte nicht in das DataFrame-Ergebnis eingefügt wurden.
Verbesserungen¶
Korrektur der Pandas
FutureWarningüber Ganzzahl-Indizes.
Snowpark Pandas API-Aktualisierungen¶
Neue Features¶
Unterstützung für
DataFrame.backfill,DataFrame.bfill,Series.backfillundSeries.bfillhinzugefügt.Unterstützung für
DataFrame.compareundSeries.comparemit Standardparametern hinzugefügt.Unterstützung für
Series.dt.microsecondundSeries.dt.nanosecondhinzugefügt.Unterstützung für
Index.is_uniqueundIndex.has_duplicateshinzugefügt.Unterstützung von
Index.equalshinzugefügt.Unterstützung von
Index.value_countshinzugefügt.Unterstützung für
Series.dt.day_nameundSeries.dt.month_namehinzugefügt.Unterstützung für die Indizierung des Index hinzugefügt, z. B.
df.index[:10].Unterstützung für
DataFrame.unstackundSeries.unstackhinzugefügt.Unterstützung für
DataFrame.asfrequndSeries.asfreqhinzugefügt.Unterstützung für
Series.dt.is_month_startundSeries.dt.is_month_endhinzugefügt.Unterstützung für
Index.allundIndex.anyhinzugefügt.Unterstützung für
Series.dt.is_year_startundSeries.dt.is_year_endhinzugefügt.Unterstützung für
Series.dt.is_quarter_startundSeries.dt.is_quarter_endhinzugefügt.Unterstützung für Lazy-
DatetimeIndexhinzugefügt.Unterstützung für
Series.argmaxundSeries.argminhinzugefügt.Unterstützung von
Series.dt.is_leap_yearhinzugefügt.Unterstützung von
DataFrame.itemshinzugefügt.Unterstützung für
Series.dt.floorundSeries.dt.ceilhinzugefügt.Unterstützung von
Index.reindexhinzugefügt.Unterstützung für
DatetimeIndex-Eigenschaften hinzugefügt:year,month,day,hour,minute,second,microsecond,nanosecond,date,dayofyear,day_of_year,dayofweek,day_of_week,weekday,quarter,is_month_start,is_month_end,is_quarter_start,is_quarter_end,is_year_start,is_year_endundis_leap_year.Unterstützung für
Resampler.fillnaundResampler.bfillhinzugefügt.Beschränkte Unterstützung für den Typ
Timedeltahinzugefügt, einschließlich der Erstellung vonTimedelta-Spalten undto_pandas.Unterstützung für
Index.argmaxundIndex.argminhinzugefügt.
Verbesserungen¶
Die Warnmeldung für die öffentliche Vorschau beim Importieren von Snowpark Pandas wurde entfernt.
Unnötige Zählungsabfrage aus der Methode
SnowflakeQueryCompiler.is_series_likeentfernt.Dataframe.columnsgibt jetzt ein natives Pandas Index-Objekt anstelle eines Snowpark Index-Objekts zurück.query_compiler-Argumente imIndexKonstruktor überarbeitet und eingeführt, umIndexaus dem Abfrage-Compiler zu erstellen.pd.to_datetimegibt nun einDatetimeIndex-Objekt statt einesSeries-Objekts zurück.pd.date_rangegibt nun einDatetimeIndex-Objekt statt einesSeries-Objekts zurück.
Fehlerkorrekturen¶
Die Übergabe einer nicht unterstützten Aggregationsfunktion an
pivot_tableführt zuNotImplementedErrorstattKeyError.Achsenbeschriftungen und aufrufbare Namen wurden aus Fehlermeldungen und Telemetrie über nicht unterstützte Aggregationen entfernt.
Korrektur von
AssertionErrorinSeries.drop_duplicatesundDataFrame.drop_duplicatesbei Aufruf nachsort_values.Korrektur eines Fehlers in
Index.to_frame, bei dem der Spaltenname des Ergebnisrahmens falsch sein kann, wenn der Name nicht angegeben wird.Korrektur eines Fehlers, bei dem einige Index-Docstrings ignoriert wurden.
Korrektur eines Fehlers in
Series.reset_index(drop=True), bei dem der Ergebnisname falsch sein kann.Korrektur eines Fehlers in der
Groupby.first/last-Sortierung nach den richtigen Spalten im zugrunde liegenden Fensterausdruck.
Version 1.20.0 (17.07.2024)¶
Version 1.20.0 der Snowpark-Bibliothek für Python führt einige neue Funktionen ein.
Neue Features¶
Verteilte Ablaufverfolgung unter Verwendung der offenen Telemetrie-APIs für Funktionen mit in Tabellen gespeicherten Prozeduren in
DataFramehinzugefügt:_execute_and_get_query_id
Unterstützung für die
arrays_zip-Funktion hinzugefügt.Verbesserte Leistung für binäre Spaltenausdrücke und
df._indurch Vermeidung von unnötigen Casts für numerische Werte. Sie können diese Optimierung durch Einstellen vonsession.eliminate_numeric_sql_value_cast_enabled = Trueaktivieren.Verbesserte Fehlermeldungen für
write_pandas, wenn die Zieltabelle nicht existiert undauto_create_table=False.Ablaufverfolgung der offenen Telemetrie für UDxF-Funktionen in Snowpark hinzugefügt.
Ablaufverfolgung der offenen Telemetrie für die Registrierung von gespeicherten Prozeduren in Snowpark hinzugefügt.
Unterstützung eines neuen optionalen Parameters namens
format_jsonzurSession.SessionBuilder.app_name-Funktion hinzugefügt, der den App-Namen inSession.query_tagim JSON-Format festlegt. Standardmäßig ist dieser Parameter aufFalseeingestellt.
Fehlerkorrekturen¶
Korrektur eines Fehlers, bei dem die für
lag(x, 0)generierte SQL falsch war und mit der Fehlermeldungargument 1 to function LAG needs to be constant, found 'SYSTEM$NULL_TO_FIXED(null)'fehlschlug.
Lokale Snowpark-Testaktualisierungen¶
Neue Features¶
Unterstützung von folgenden APIs hinzugefügt:
snowflake.snowpark.functionsrandom
Neue Parameter für die
patch-Funktion bei der Registrierung einer Mock-Funktion hinzugefügt:distinctermöglicht die Angabe einer alternativen Funktion für den Fall, dass sich eine SQL-Funktion unterscheidet.pass_column_indexübergibt einen benannten Parameter (column_index) an die Mock-Funktion, die denpandas.Indexfür die Eingabedaten enthält.pass_row_indexübergibt einen benannten Parameter (row_index) an die Mock-Funktion, der die Zeilennummer mit dem Index 0 ist, für die die Funktion gerade arbeitet.pass_input_dataübergibt einen benannten Parameter (input_data) an die Mock-Funktion, der den gesamten Eingabe-Dataframe für den aktuellen Ausdruck enthält.Unterstützung für den Parameter
column_orderin der MethodeDataFrameWriter.save_as_tablehinzugefügt.
Fehlerkorrekturen¶
Korrektur eines Fehlers, der dazu führte, dass die
DecimalType-Spalten bei Verwendung inBinaryExpressionsfälschlicherweise auf Ganzzahlen abgeschnitten wurden.
Snowpark Pandas API-Aktualisierungen¶
Neue Features¶
Neue API-Unterstützung für Folgendes hinzugefügt:
DataFrames
DataFrame.nlargestundDataFrame.nsmallestDataFrame.assignDataFrame.stackDataFrame.pivotDataFrame.to_csvDataFrame.corrDataFrame.corrDataFrame.equalsDataFrame.reindexDataFrame.atundDataFrame.iat
Serie
Series.nlargestundSeries.nsmallestSeries.atundSeries.iatSeries.dt.isocalendarSeries.equalsSeries.reindexSeries.to_csvSeries.case_when, außer wenn Bedingung oder Ersatz abrufbar istseries.plot()mit Daten, die auf dem lokalen Client materialisiert wurden
GroupBy
DataFrameGroupBy.allundDataFrameGroupBy.anyDataFrameGroupBy- undSeriesGroupBy-AggregationenfirstundlastDataFrameGroupBy.get_groupSeriesGroupBy.allundSeriesGroupBy.any
Allgemeines
pd.pivotread_excel(verwendet lokale Pandas für die Verarbeitung)df.plot()mit Daten, die auf dem lokalen Client materialisiert wurden
Bestehende APIs wie folgt erweitert:
Unterstützung für
replaceundfrac > 1inDataFrame.sampleundSeries.samplehinzugefügt.Teilweise Unterstützung für
Series.str.translatehinzugefügt, bei der die Werte in dertableaus Zeichenfolgen mit einem Codepunkt bestehen.Unterstützung für den Parameter
limithinzugefügt, wenn der Parametermethodinfillnaverwendet wird.
Dokumentationsseiten für
Indexund seine APIs hinzugefügt.
Fehlerkorrekturen¶
Korrektur eines Problems bei der Verwendung von np.where und df.where, wenn der skalare
otherdas Literal 0 ist.Korrektur eines Fehlers bezüglich des Präzisionsverlustes bei der Konvertierung in Snowpark Pandas
DataFrameoderSeriesmitdtype=np.uint64.Korrektur eines Fehlers, bei dem
valuesaufindexgesetzt werden, wennindexundcolumnsalle Spalten im DataFrame währendpivot_tableenthalten.
Verbesserungen¶
Unterstützung von
Index.copy()hinzugefügt.Unterstützung für Index-APIs hinzugefügt:
dtype,values,item(),tolist(),to_series()undto_frame().Erweiterte Unterstützung für DataFrames ohne Zeilen in
pd.pivot_tableundDataFrame.pivot_table.Unterstützung für den Parameter
inplaceinDataFrame.sort_indexundSeries.sort_indexhinzugefügt.
Version 1.19.0 (25.06.2024)¶
Version 1.19.0 der Snowpark-Bibliothek für Python führt einige neue Funktionen ein.
Neue Features¶
Unterstützung für die Funktion
to_booleanhinzugefügt.Dokumentationsseiten für
Indexund dessen APIs hinzugefügt.
Fehlerkorrekturen¶
Korrektur eines Fehlers, bei dem in Python gespeicherte Prozeduren mit dem Tabellenrückgabetyp nicht funktionieren, wenn sie in einer Aufgabe ausgeführt werden.
Korrektur eines Fehlers, bei dem
df.dropnaaufgrund vonRecursionError: maximum recursion depth exceededfehlschlägt, wenn der DataFrame mehr als 500 Spalten hat.Korrektur eines Fehlers, bei dem
AsyncJob. result("no_result")nicht darauf wartet, dass die Abfrage ausgeführt wird.
Aktualisierungen beim lokalen Testen¶
Neue Features¶
Unterstützung für den Parameter
strictbei der Registrierung von UDFs und gespeicherten Prozeduren hinzugefügt.
Fehlerkorrekturen¶
Korrektur eines Fehlers in
convert_timezone, durch den die Einstellung des Parameterssource_timezonezu einem Fehler führte.Korrektur eines Fehlers, bei dem das Erstellen eines DataFrame mit leeren Daten vom Typ
DateTypedenAttributeErrorauslöst.Korrektur eines Fehlers, bei dem die Zusammenführung von Tabellen fehlschlägt, wenn eine Aktualisierungsklausel existiert, aber keine Aktualisierung stattfindet.
Korrektur eines Fehlers in der Mock-Implementierung von
to_char, der einenIndexErrorauslöst, wenn eine eingehende Spalte einen nicht fortlaufenden Zeilenindex hat.Korrektur eines Fehlers bei der Behandlung von
CaseExpr-Ausdrücken, der einenIndexErrorauslöst, wenn eine eingehende Spalte einen nicht fortlaufenden Zeilenindex hat.Korrektur eines Fehlers in der Implementierung von
Column.like, der einenIndexErrorauslöst, wenn eine eingehende Spalte einen nicht fortlaufenden Zeilenindex hat.
Verbesserungen¶
Unterstützung für Typenzwang in der Implementierung von
DataFrame. replace,DataFrame. dropnaund der Mock-Funktioniffhinzugefügt.
Snowpark Pandas API-Aktualisierungen¶
Neue Features¶
Teilweise Unterstützung für
DataFrame.pct_changeundSeries.pct_changeohne die Parameterfrequndlimithinzugefügt.Unterstützung für
Series.str.gethinzugefügt.Unterstützung für
Series.dt.dayofweek,Series.dt.day_of_week,Series.dt.dayofyearundSeries.dt.day_of_yearhinzugefügt.Unterstützung für :codenowrap`Series.str.__getitem__ (Series.str[…])` hinzugefügt.
Unterstützung für
Series.str.lstripundSeries.str.rstriphinzugefügt.Unterstützung für
DataFrameGroupby.sizeundSeriesGroupby.sizehinzugefügt.Unterstützung für
DataFrame.expandingundSeries.expandingfür die Aggregationencount,sum,min,max,mean,stdundvarmitaxis=0hinzugefügt.Unterstützung für
DataFrame.rollingundSeries.rollingfür eine Aggregationszählung mitaxis=0hinzugefügt.Unterstützung für
Series.str.matchhinzugefügt.Unterstützung für
DataFrame.resampleundSeries.resamplefür die Aggregationsgröße hinzugefügt.
Fehlerkorrekturen¶
Korrektur eines Fehlers, der dazu führte, dass die Ausgabe von
GroupBy.aggregate-Spalten falsch geordnet war.Korrektur eines Fehlers, bei dem der Aufruf von
DataFrame.describebei einem Rahmen mit doppelten Spalten mit unterschiedlichendtypeszu einem Fehler oder falschen Ergebnissen führen konnte.Korrektur eines Fehlers in
DataFrame.rollingundSeries.rolling, sodasswindow=0nunNotImplementedErrorstattValueErrorauslöst
Verbesserungen¶
Unterstützung für benannte Aggregationen in
DataFrame.aggregateundSeries.aggregatemitaxis=0hinzugefügt.pd.read_csvliest mit dem nativen Pandas CSV-Parser und lädt die Daten dann mit Parquet in Snowflake hoch. Dies aktiviert die meisten Parameter, die vonread_csvunterstützt werden, einschließlich Datums-Parsing und numerischen Konvertierungen. Das Hochladen über Parquet ist etwa doppelt so schnell wie das Hochladen über CSV.Erste Arbeiten zur Unterstützung eines
pd.Indexdirekt in Snowpark Pandas. Die Unterstützung fürpd.Indexals erstklassige Komponente von Snowpark Pandas befindet sich in aktiver Entwicklung.Ein Lazy-Index-Konstruktor und Unterstützung für
len,shape,size,empty,to_pandas()undnameswurden hinzugefügt. Fürdf.indexerstellt Snowpark Pandas ein Lazy-Index-Objekt.Für
df.columnsunterstützt Snowpark Pandas eine Nicht-Lazy-Version einesIndex, da die Daten bereits lokal gespeichert sind.
Version 1.18.0 (2024-05-28)¶
Version 1.18.0 der Snowpark-Bibliothek enthält einige neue Features.
Neue Features¶
Die Methoden
DataFrame.cache_resultundSeries.cache_resultwurden hinzugefügt, damit Benutzer die ObjekteDataFrameundSeriesfür die Dauer einer Sitzung in einer temporären Tabelle aufbewahren können, um die Latenz bei nachfolgenden Operationen zu verbessern.
Verbesserungen¶
Unterstützung für
DataFrame.pivot_tableohne den Parameterindexund mit dem Parametermarginswurde hinzugefügt.Signatur von
DataFrame.shift,Series.shift,DataFrameGroupBy.shiftundSeriesGroupBy.shiftwurde aktualisiert, um mit pandas 2.2.1 übereinzustimmen. Snowpark pandas bietet noch keine Unterstützung für das neu hinzugefügte Suffix-Argument und für Sequenzwerte von Perioden.Unterstützung für
Series.str.splitwurde wieder hinzugefügt.
Fehlerkorrekturen¶
Problem mit gemischten Spalten für Zeichenfolgen-Methoden wurde behoben (
Series.str.*).
Aktualisierungen beim lokalen Testen¶
Neue Features¶
Unterstützung der folgenden
DataFrameReader-Leseoptionen für die Dateiformate CSV und JSON wurde hinzugefügt:PURGE
PATTERN
INFER_SCHEMA mit Wert
FalseENCODING mit Wert
UTF8
Unterstützung für
DataFrame.analytics.moving_aggundDataFrame.analytics.cumulative_agg_agghinzugefügt.Unterstützung für Parameter
if_not_existsbei der Registrierung von UDF und gespeicherten Prozeduren wurde hinzugefügt.
Fehlerkorrekturen¶
Fehler bei der Verarbeitung von Zeitformaten behoben, bei dem der Sekundenteil nicht korrekt verarbeitet wurde.
Fehler behoben, der dazu führte, dass Funktionsaufrufe von
*fehlschlugen.Fehler behoben, der das Erstellen von Objekten des Typs
mapundstructverhinderte.Fehler behoben, bei dem die Funktion
date_addeinige numerische Typen nicht verarbeiten konnte.Fehler behoben, bei dem die
TimestampType-Umwandlung zu fehlerhaften Daten führte.Fehler behoben, der dazu führte, dass
DecimalType-Daten in einigen Fällen eine falsche Genauigkeit hatten.Fehler behoben, bei dem der Verweis auf eine fehlende Tabelle oder Ansicht einen
IndexError-Fehler auslöste.Fehler behoben, bei dem die Mock-Funktion
to_timestamp_ntzkeineNone-Daten verarbeiten konnte.Fehler behoben, bei dem Mock-UDFs die Ausgabedaten von
Nonenicht korrekt verarbeiteten.Fehler behoben, bei dem
DataFrame.with_column_renamednach Join-Operationen die Attribute von übergeordnetenDataFramesignorierte.Fehler behoben, bei dem die Integer-Genauigkeit von großen Werten verloren ging, wenn sie in ein pandas-
DataFramekonvertiert wurden.Fehler behoben, bei dem das Schema eines
datetime-Objekts falsch war, wenn einDataFrameaus einem pandas-DataFrameerstellt wurde.Fehler in der Implementierung von
Column.equal_nanbehoben, bei dem Null-Daten nicht korrekt verarbeitet wurden.Fehler behoben, bei dem
DataFrame.dropnach Join-Operationen die Attribute von übergeordnetenDataFramesignorierte.Fehler in der Mock-Funktion
date_partbehoben, bei dem der Spaltentyp falsch eingestellt war.Fehler behoben, bei dem
DataFrameWriter.save_as_tablebeim Einfügen von Null-Daten in nicht nullwertfähige Spalten keine Ausnahmen auslöste.Fehler in der Implementierung von
DataFrameWriter.save_as_tablebehoben:Anhängen oder Abschneiden schlug fehl, wenn die eingehenden Daten ein anderes Schema hatten als die vorhandene Tabelle.
Abschneiden schlug fehl, wenn eingehende Daten keine Spalte enthielten, die nullwertfähig ist.
Verbesserungen¶
Abhängigkeitsprüfung für
pyarrowwurde entfernt, da sie nicht verwendet wird.Abdeckung der Zieltypen von
Column.castwurde verbessert, indem Unterstützung für das Umwandeln in boolesche und alle ganzzahligen Typen hinzugefügt wurde.Benutzererfahrung bei Fehlern beim Aufrufen von UDFs und gespeicherten Prozeduren wurde angepasst.
Passende Fehlermeldungen für die Optionen
is_permanentundanonymousbei der Registrierung von UDFs und gespeicherten Prozeduren hinzugefügt, um deutlicher zu machen, dass diese Features noch nicht unterstützt werden.Dateileseoperationen mit nicht unterstützten Optionen und Werten lösen jetzt
NotImplementedErroranstelle von Warnungen und unklaren Fehlerinformationen aus.
Version 1.17.0 (2024-05-21)¶
Version 1.17.0 der Snowpark-Bibliothek enthält einige neue Features.
Neue Features¶
Unterstützung für das Hinzufügen eines Kommentars zu Tabellen und Ansichten mithilfe der folgenden Funktionen wurde hinzugefügt:
DataFrameWriter.save_as_tableDataFrame.create_or_replace_viewDataFrame.create_or_replace_temp_viewDataFrame.create_or_replace_dynamic_table
Verbesserungen¶
Verbesserte Fehlermeldung, die den Benutzer daran erinnert,
{"infer_schema": True}zu setzen, wenn eine CSV-Datei ohne Angabe des Schemas gelesen werden soll.
Aktualisierungen beim lokalen Testen¶
Neue Features¶
Unterstützung für die Datenkonvertierung von
NumericTypeundVariantTypezu den Mock-Funktionento_timestamp_ltz,to_timestamp_ntz,to_timestamp_tzundto_timestamphinzugefügt.Unterstützung für Datenkonvertierung von
DecimalType,BinaryType,ArrayType,MapType,TimestampType,DateTypeundTimeTypezur Mock-Funktionto_charhinzugefügt.Unterstützung von folgenden APIs hinzugefügt:
snowflake.snowpark.functions.to_varcharsnowflake.snowpark.DataFrame.pivotsnowflake.snowpark.Session.cancel_all
Neue Ausnahmeklasse
snowflake.snowpark.mock.exceptions.SnowparkLocalTestingExceptioneingeführt.Unterstützung für die Umwandelung in
FloatTypewurde hinzugefügt.
Fehlerkorrekturen¶
Fehler behoben, der dazu führte, dass gespeicherte Prozeduren und UDFs während des Bereinigungsschritts Importe entfernen durften, die sich bereits in
sys.pathbefanden.Fehler behoben, durch den bei der Verarbeitung des
datetime-Formats der Sekundenteil nicht korrekt verarbeitet wurde.Fehler behoben, bei dem Dateioperationen auf der Windows-Plattform nicht in der Lage waren, Dateitrennzeichen in Verzeichnisnamen korrekt zu verarbeiten.
Auf der Windows-Plattform wurde der Fehler behoben, dass beim Lesen eines pandas-Datenframe eine
IntervalType-Spalte mit Integer-Daten nicht verarbeitet werden konnte.Fehler behoben, der verhinderte, dass Benutzer mehrere Spalten mit demselben Alias auswählen konnten.
Fehler behoben, bei dem
Session.get_current_[schema |database| role |user| account|warehouse]Bezeichner in Großbuchstaben zurückgibt, wenn Bezeichner in Anführungszeichen stehen.Fehler behoben, bei dem die Funktionen
substrundsubstringnicht mit einem nullbasiertenstart_exprumgehen konnten.
Verbesserungen¶
Die Benutzererfahrung bei Fehlern wurde vereinheitlicht, indem
SnowparkLocalTestingExceptionin Fehlerfällen ausgelöst wird, was derSnowparkSQLExceptionentspricht, die bei nicht lokaler Ausführung ausgelöst wird.Die Benutzererfahrung bei Fehlern für die Methode
Session.write_pandaswurde verbessert, sodassNotImplementErrorbeim Aufrufen ausgelöst wird.Die Benutzererfahrung bei Fehlern bei der Wiederverwendung einer geschlossenen Sitzung in nicht lokaler Ausführung wurde angepasst.
Version 1.16.0 (2024-05-08)¶
Version 1.16.0 der Snowpark-Bibliothek enthält einige neue Features.
Neue Features¶
snowflake.snowpark.Session.lineage.tracewurde hinzugefügt, um die Herkunft der Daten von Snowflake-Objekten zu untersuchen.Unterstützung für das Registrieren von gespeicherten Prozeduren mit Paketen, die als Python-Module bereitgestellt werden, wurde hinzugefügt.
Unterstützung für das Parsen von Schemas strukturierter Typen wurde hinzugefügt.
Fehlerkorrekturen¶
Fehler behoben, bei dem beim Ableiten eines Schemas einfache Anführungszeichen zu Stagingdateien hinzugefügt wurden, die bereits einfache Anführungszeichen aufwiesen.
Aktualisierungen beim lokalen Testen¶
Neue Features¶
Unterstützung für Datenkonvertierung von
StringType,TimestampTypeundVariantTypezur Mock-Funktionto_datehinzugefügt.Unterstützung von folgenden APIs hinzugefügt:
snowflake.snowpark.functions:getconcatconcat_ws
Fehlerkorrekturen¶
Fehler behoben, der dazu führte, dass die Werte
NaTundNaNnicht erkannt wurden.Fehler behoben, bei dem beim Ableiten eines Schemas einfache Anführungszeichen zu Stagingdateien hinzugefügt wurden, die bereits einfache Anführungszeichen aufwiesen.
Fehler behoben, bei dem
DataFrameReader.csvnicht in der Lage war, Werte in Anführungszeichen zu verarbeiten, die ein Trennzeichen enthielten.Fehler behoben, der dazu führte, dass bei einem
None-Wert in einer arithmetischen Berechnung die Ausgabemath.nanstattNoneenthielt.Fehler in den Funktionen
sumundcovar_popbehoben, sodass nun bei einemmath.nan-Wert in den Daten auch die Ausgabemath.nanist.Fehler behoben, bei dem Stagingbereichsoperationen nicht mit Verzeichnissen umgehen konnten.
Fehler behoben, sodass
DataFrame.to_pandasfürint64-Werte den numerische Snowflake-Typen mit der Genauigkeit 38 verwendet.
Version 1.15.0 (2024-04-24)¶
Version 1.15.0 der Snowpark-Bibliothek enthält einige neue Features.
Neue Features¶
Speichermodus
truncatezuDataFrameWritehinzugefügt, um bestehende Tabellen zu überschreiben, indem die zugrunde liegende Tabelle abgeschnitten wird, anstatt sie zu löschen.Telemetrie hinzugefügt, um die Höhe des Abfrageplans und die Anzahl der doppelten Knoten bei Sammeloperationen zu berechnen.
Die folgenden Funktionen wurden hinzugefügt, um Daten aus einem
DataFramein eine oder mehrere Dateien in einem Stagingbereich zu entladen:DataFrame.write.jsonDataFrame.write.csvDataFrame.write.parquet
Verteilte Ablaufverfolgung mithilfe offener Telemetrie-APIs für Aktionsfunktionen in
DataFrameundDataFrameWriterhinzugefügt:snowflake.snowpark.DataFrame:collectcollect_nowaitto_pandascountshow
snowflake.snowpark.DataFrameWriter:save_as_table
Unterstützung für
snow://-URLs zusnowflake.snowpark.Session.file.getundsnowflake.snowpark.Session.file.get_streamhinzugefügt.Unterstützung für das Registrieren von gespeicherten Prozeduren und UDFs mit einem
commenthinzugefügt.UDAF-Clientunterstützung ist bereit für die öffentliche Vorschau. Wir werden Sie informieren, wenn Snowflake die öffentliche Vorschau für UDAF ankündigt.
Unterstützung für dynamisches Pivotieren hinzugefügt. Dieses Feature befindet sich derzeit in der privaten Vorschau.
Verbesserungen¶
Die Leistung der generierten Abfrage wurde sowohl bei Kompilierung als auch Ausführung verbessert, indem doppelte Unterabfragen in Common Table Expressions (CTEs) konvertiert werden. Es handelt sich um ein experimentelles Feature, das noch nicht standardmäßig aktiviert ist. Sie können es aktivieren, indem Sie
session.cte_optimization_enabledaufTruesetzen.
Fehlerkorrekturen¶
Fehler behoben, bei dem
statement_paramsnicht an Abfrageausführungen übergeben wurde, die gespeicherte Prozeduren und benutzerdefinierte Funktionen registrieren.Fehler behoben, der dazu führte, dass
snowflake.snowpark.Session.file.get_streambei in Anführungszeichen gesetzten Speicherorten von Stagingbereichen fehlschlug.Fehler behoben, durch den ein interner Typhinweis in
utils.pyeinenAttributeErrorauslösen konnte, wenn das zugrunde liegende Modul nicht gefunden werden konnte.
Aktualisierungen beim lokalen Testen¶
Neue Features¶
Unterstützung für das Registrieren von UDFs und gespeicherten Prozeduren wurde hinzugefügt.
Unterstützung von folgenden APIs hinzugefügt:
snowflake.snowpark.Session:file.putfile.put_streamfile.getfile.get_streamread.jsonadd_importremove_importget_importsclear_importsadd_packagesadd_requirementsclear_packagesremove_packageudf.registerudf.register_from_filesproc.registersproc.register_from_file
snowflake.snowpark.functionscurrent_databasecurrent_sessiondate_truncobject_constructobject_construct_keep_nullpowsqrtudfsproc
Unterstützung für Datenkonvertierung von
StringType,TimestampTypeundVariantTypezur Mock-Funktionto_timehinzugefügt.
Fehlerkorrekturen¶
Fehler behoben, durch den Spalten für konstante Funktionen mit Nullen gefüllt wurden.
to_object,to_arrayundto_binarykorrigiert, um besser mit Nulleingaben umgehen zu können.Fehler behoben, der dazu führte, dass der Vergleich von Zeitstempeldaten nicht mit Jahren größer 2262 möglich war.
Fehler behoben, sodass
Session.builder.getOrCreatedie erstellte Mock-Sitzung zurückgibt.
Version 1.14.0 (2024-03-20)¶
Version 1.14.0 der Snowpark-Bibliothek enthält einige neue Features.
Neue Features¶
Unterstützung für das Erstellen von vektorisierten UDTFs mit der Methode
processwurde hinzugefügt.Unterstützung für Datenframe-Funktionen hinzugefügt:
to_timestamp_ltzto_timestamp_ntzto_timestamp_tzlocate
Unterstützung für den ASOF JOIN-Typ hinzugefügt.
Unterstützung der folgenden lokalen Test-APIs wurde hinzugefügt:
snowflake.snowpark.functions:
to_doubleto_timestampto_timestamp_ltzto_timestamp_ntzto_timestamp_tzgreatestleastconvert_timezonedateadddate_part
snowflake.snowpark.Session:
get_current_accountget_current_warehouseget_current_roleuse_schemause_warehouseuse_databaseuse_role
Verbesserungen¶
Telemetrie für lokales Testen hinzugefügt.
Fehlermeldung von
DataFrameReaderwurde verbessert, sodassFileNotFoundeinen Fehler auslöst, wenn ein Pfad gelesen wird, der nicht existiert, oder wenn es keine Dateien unter dem Pfad gibt.
Fehlerkorrekturen¶
Fehler in
SnowflakePlanBuilderbehoben, bei demsave_as_tableSpalten, deren Name mit$gefolgt von einer Zahl beginnt, nicht korrekt gefiltert hat.Fehler behoben, bei dem Anweisungsparameter bei der Auflösung von Importen und Paketen keine Wirkung haben konnten.
Fehler beim lokalen Testen behoben:
LEFT ANTI- und LEFT SEMI-Joins löschen Zeilen mit Nullwerten.
DataFrameReader.csvanalysiert die Daten falsch, wenn der optionale Parameterfield_optionally_enclosed_byangegeben ist.Column.regexpberücksichtigt nur den ersten Eintrag, wennpatterneinColumn-Wert ist.Table.updategibtKeyErroraus, wenn in den Zeilen Nullwerte aktualisiert werden.VARIANT-Spalten lösen bei
DataFrame.collecteinen Fehler aus.count_distinctfunktioniert beim Zählen nicht korrekt.Nullwerte in Integer-Spalten lösen
TypeErroraus.
Version 1.13.0 (2024-02-26)¶
Version 1.13.0 der Snowpark-Bibliothek enthält einige neue Features.
Neue Features¶
Unterstützung für ein optionales Argument
date_partzur Funktionlast_dayhinzugefügt.SessionBuilder.app_namesetzt denquery_tag-Wert, nachdem die Sitzung erstellt wurde.Unterstützung der folgenden lokalen Testfunktionen wurde hinzugefügt:
current_timestampcurrent_datecurrent_timestrip_null_valueupperlowerlengthinitcap
Verbesserungen¶
Bereinigungslogik beim Herunterfahren des Interpreters hinzugefügt, um alle aktiven Sitzungen zu schließen.
Fehlerkorrekturen¶
Fehler in
DataFrame.to_local_iteratorbehoben, bei dem der Iterator aufgrund einer falschen Isolationsebene falsche Ergebnisse liefern konnte, wenn die Ausführung einer weiteren Abfrage gestartet wurde, bevor der Iterator endete.Fehler behoben, durch den Tabellennamen in Fehlermeldungen abgeschnitten wurden, wenn ein Plan mit aktivierten lokalen Testfunktionen ausgeführt wurde.
Fehler behoben, bei dem
Session.rangeein leeres Ergebnis zurückgibt, wenn der Bereich groß ist.
Version 1.12.1 (2024-02-08)¶
Version 1.12.1 der Snowpark-Bibliothek enthält einige neue Features.
Verbesserungen¶
Standardmäßige Verwendung von
split_blocks=Truebei derto_pandas-Konvertierung, um optimale Arbeitsspeicherzuteilung zu erreichen. Dieser Parameter wird anpyarrow.Table.to_pandasübergeben, wodurchPyArrowbei der Arbeitsspeicherzuteilung anstelle eines einzigen zusammenhängenden Blocks eine Aufteilung in kleinere und damit besser zu verwaltende Blöcke vornehmen kann. Dies führt zu einer besseren Arbeitsspeicherverwaltung bei der Bearbeitung größerer Datasets.
Fehlerkorrekturen¶
Fehler in
DataFrame.to_pandasbehoben, der bei der Auswertung von DataFrames auftrat, die eineIntegerType-Spalte mit Nullwerten enthielten.
Version 1.12.0 (2024-01-29)¶
Version 1.12.0 der Snowpark-Bibliothek enthält einige neue Features.
Verhaltensänderungen (API-kompatibel)¶
Beim Parsen von Datentypen während einer
to_pandas-Operation verlassen wir uns auf den GS-Präzisionswert, um Präzisionsprobleme bei großen Ganzzahlwerten zu beheben. Dies kann Benutzer betreffen, bei denen eine Spalte, die zuvor alsint8zurückgegeben wurde, nun alsint64zurückgegeben wird. Benutzer können dies beheben, indem sie für ihre Rückgabespalten explizit Präzisionswerte angeben.Abgestimmtes Verhalten von
Session.callim Falle von gespeicherten Tabellenprozeduren, bei denen die Ausführung vonSession.callnur dann eine gespeicherte Prozedur auslösen würde, wenn einecollect()-Operation ausgeführt wird.StoredProcedureRegistrationfügt nun automatischsnowflake-snowpark-pythonals Paketabhängigkeit zur lokalen Bibliotheksversion des Clients hinzu. Wenn der Server diese Version nicht unterstützt, wird ein Fehler ausgegeben.
Neue Features¶
statement_paramsinStoredProcedure.__call__bereitgestellt.Zwei optionale Argumente zu
Session.add_importhinzugefügt:chunk_size: Anzahl der zu hashenden Bytes pro Block der hochgeladenen Dateien.whole_file_hash: Standardmäßig wird nur der erste Block des hochgeladenen Imports gehasht, um Zeit zu sparen. Wenn auf „True“ gesetzt, wird stattdessen jede hochgeladene Datei vollständig gehasht.
Parameter
external_access_integrationsundsecretsbeim Erstellen einer UDAF zu Snowpark Python hinzugefügt, um Integration mit externem Zugriff zu ermöglichen.Neue Methode
Session.append_query_taghinzugefügt, die es ermöglicht, ein zusätzliches Tag zum aktuellen Abfrage-Tag hinzuzufügen, indem es als durch Komma getrennter Wert angehängt wird.Neue Methode
Session.update_query_taghinzugefügt, die Aktualisierungen eines JSON-kodierten Dictionary-Abfrage-Tags ermöglicht.SessionBuilder.getOrCreateversucht nun, das Singleton zu ersetzen, das zurückgegeben wird, wenn Ablaufen des Tokens erkannt wurde.Folgende Funktionen zu
snowflake.snowpark.functionshinzugefügt:array_exceptcreate_mapsign/signum
Folgende Funktionen zu
DataFrame.analyticshinzugefügt:Funktion
moving_aggzuDataFrame.analyticshinzugefügt, um gleitende Aggregationen wie Summen und Durchschnitte mit mehreren Fenstergrößen zu ermöglichen.Funktion
cumulative_aggzuDataFrame.analyticshinzugefügt, um gleitende Aggregationen wie Summen und Durchschnitte mit mehreren Fenstergrößen zu ermöglichen.
Fehlerkorrekturen¶
Fehler in
DataFrame.na.fillbehoben, der dazu führte, dass boolesche Werte fälschlicherweise ganzzahlige Werte überschrieben.Fehler in
Session.create_dataframebehoben, bei dem Snowpark-DataFrames, die aus Pandas-DataFrames erstellt wurde, den Typ für Zeitstempelspalten nicht korrekt ableitete. Der Verhalten ist wie folgt:Früher wurden Zeitstempelspalten ohne Zeitzone in Nanosekunden-Epochen umgewandelt und als
LongType()abgeleitet. Jetzt bleiben diese aber korrekt als Zeitstempelwerte erhalten und werden alsTimestampType(TimestampTimeZone.NTZ)abgeleitet.Früher wurden Zeitstempelspalten mit einer Zeitzone als
TimestampType(TimestampTimeZone.NTZ)abgeleitet, wobei Zeitzoneninformationen verloren gingen. Jetzt werden sie korrekt alsTimestampType(TimestampTimeZone.LTZ)abgeleitet, wobei Zeitzoneninformationen korrekt erhalten bleiben.Sitzungsparameter
PYTHON_SNOWPARK_USE_LOGICAL_TYPE_FOR_CREATE_DATAFRAMEso festgelegt, um zum alten Verhalten zurückzukehren. Snowflake empfiehlt, dass Sie Ihren Code aktualisieren, um ihn an das korrekte Verhalten anzupassen, da der Parameter in Zukunft entfernt wird.
Fehler behoben, dass
DataFrame.to_pandasden Dezimaltyp erhält, wenn die Dezimalstellenzahl nicht 0 ist, und inpandasein Objekt-dtype erstellt. Stattdessen wird der Wert nun in einen float64-Typ umgewandelt.Fehler behoben, bei dem der generierte SQL-Code in folgenden Fällen fälschlicherweise vereinfacht (Flatten) wurde:
DataFrame.filter()wird nachDataFrame.sort().limit()aufgerufen.DataFrame.sort()oderfilter()wird auf einem DataFrame aufgerufen, der bereits eine Fensterfunktion oder eine sequenzabhängige Datengeneratorspalte hat. Beispielsweise wirddf.select("a", seq1().alias("b")).select("a", "b").sort("a")nicht mehr zum Vereinfachen (Flatten) der Sortierklausel führen.Nach
DataFrame.limit()wird eine Fenster- oder eine sequenzabhängige Datengeneratorspalte verwendet. Beispielsweise wirddf.limit(10).select(row_number().over())nicht mehr zum Vereinfachen (Flatten) von „limit“ und „select“ im generierten SQL führen.
Fehler behoben, bei dem das Aliasing einer DataFrame-Spalte zu einem Fehler führte, wenn der DataFrame von einem anderen DataFrame mit Aliasing-Spalte kopiert wurde. Beispiel:
df = df.select(col("a").alias("b")) df = copy(df) df.select(col("b").alias("c")) # Threw an error. Now it's fixed.
Fehler in
Session.create_dataframebehoben, der dazu führte, dass das nicht nullwertfähig Feld in einem Schema bei einem booleschen Typ nicht beachtet wurde. Beachten Sie, dass dieser Fix nur wirksam ist, wenn der Benutzer die Berechtigung zum Erstellen von temporären Tabellen hat.Fehler im SQL Simplifier behoben, bei dem Nicht-Select-Anweisungen in
session.sqlSQL-Abfragen bei Verwendung vonlimit()gelöscht haben.Fehler behoben, der eine Ausnahme auslöste, wenn der Sitzungsparameter
ERROR_ON_NONDETERMINISTIC_UPDATEden Wert „true“ hat.