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.
Version 1.23.0 (09.10.2024)¶
Neue Features¶
Die folgenden neuen Funktionen wurden in
snowflake.snowpark.functions
hinzugefü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_id
wurde zuQueryRecord
hinzugefügt, um die Thread-ID zu verfolgen, die den Verlauf der Abfrage übermittelt.Unterstützung von
Session.stored_procedure_profiler
hinzugefü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.mean
hinzugefügt.Unterstützung für einige Fälle der Aggregation von
Timedelta
-Spalten füraxis=0
mitagg
oderaggregate
hinzugefügt.Unterstützung für
by
,left_by
,right_by
,left_index
, undright_index
fürpd.merge_asof
hinzugefügt.Unterstützung für die Übergabe des Parameters
include_describe
anSession.query_history
hinzugefügt.Unterstützung für die Methoden
DatetimeIndex.mean
undDatetimeIndex.std
hinzugefügt.Unterstützung für
Resampler.asfreq
,Resampler.indices
,Resampler.nunique
undResampler.quantile
hinzugefügt.Unterstützung für die
resample
-FrequenzW
,ME
,YE
mitclosed = "left"
hinzugefügt.Unterstützung für
DataFrame.rolling.corr
undSeries.rolling.corr
fürpairwise = False
und intwindow
hinzugefügt.Unterstützung für zeitbasierte Zeichenfolgen
window
undmin_periods = None
fürRolling
hinzugefügt.Unterstützung für
DataFrameGroupBy.fillna
undSeriesGroupBy.fillna
hinzugefü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 mitindex
undcolumn
-Werten hinzugefügt, die nicht inDataFrame
/Series
data
vorhanden sind.Unterstützung für
pd.read_sas
hinzugefü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
tz
sowohl inpd.date_range
als auchpd.bdate_range
hinzugefügt.Unterstützung von
Series.items
hinzugefügt.Unterstützung von
errors="ignore"
inpd.to_datetime
hinzugefügt.Unterstützung für
DataFrame.tz_localize
undSeries.tz_localize
hinzugefügt.Unterstützung für
DataFrame.tz_convert
undSeries.tz_convert
hinzugefügt.Unterstützung für die Anwendung von Snowpark Python-Funktionen (z. B.
sin
) inSeries.map
,Series.apply
,DataFrame.apply
undDataFrame.applymap
hinzugefü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_only
für group by-Aggregationen.Unnötige Warnung über den Sortieralgorithmus in
sort_values
entfernt.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_dtype
inSeries.apply
entfernt.
Fehlerkorrekturen¶
Korrektur eines Fehlers, bei dem ein
Index
-Objekt, das aus einemSeries
/DataFrame
erstellt wurde, den Indexnamen vonSeries
/DataFrame
falsch aktualisiert, nachdem eine Inplace-Aktualisierung auf das ursprünglicheSeries
/DataFrame
angewendet 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_values
fehlschlug, 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 alsTimedelta
belassen 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.functions
hinzugefügt:array_remove
ln
Verbesserungen¶
Die Dokumentation für
Session.write_pandas
wurde verbessert, indem die Optionuse_logical_type
deutlicher hervorgehoben wird.Unterstützung für die Angabe von Folgendem in
DataFrameWriter.save_as_table
hinzugefügt:enable_schema_evolution
data_retention_time
max_data_extension_time
change_tracking
copy_grants
iceberg_config
– Ein Wörterbuch, das die folgenden Optionen der Iceberg-Konfiguration enthalten kann:external_volume
catalog
base_location
catalog_sync
storage_serialization_policy
Unterstützung für die Angabe von Folgendem in
DataFrameWriter.copy_into_table
hinzugefügt:iceberg_config
– Ein Wörterbuch, das die folgenden Optionen der Iceberg-Konfiguration enthalten kann:external_volume
catalog
base_location
catalog_sync
storage_serialization_policy
Unterstützung für die Angabe der folgende Parameter in
DataFrame.create_or_replace_dynamic_table
hinzugefügt:mode
refresh_mode
initialize
clustering_keys
is_transient
data_retention_time
max_data_extension_time
Fehlerkorrekturen¶
Korrektur eines Fehlers in
session.read.csv
, der einen Fehler bei der Einstellung vonPARSE_HEADER = True
in 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_pandas
ohne explizite Initialisierung des Snowpark Pandas-Plugins einen Fehler verursachte.Korrektur eines Fehlers, bei dem die Verwendung der Funktion
explode
bei der dynamischen Tabellenerstellung einen SQL-Kompilierungsfehler verursachte, der auf ein falsches Casting des booleschen Typs für den Parameterouter
zurü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.identical
hinzugefügt.
Fehlerkorrekturen¶
Korrektur eines Fehlers, bei dem der Kürzungsmodus in
DataFrameWriter.save_as_table
nicht korrekt mit DataFrames umging, die nur eine Teilmenge der Spalten der vorhandenen Tabelle enthielten.Korrektur eines Fehlers, bei dem die Funktion
to_timestamp
die 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öhtNotImplementedError
fü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
.NotImplementedError
wird für die übrigen Methoden, dieTimedelta
nicht unterstützen, ausgelöst.Unterstützung für die Subtraktion von zwei Zeitstempeln, um ein
Timedelta
zu 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
-Filtrationenfirst
undlast
.Unterstützung für
TimedeltaIndex
-Attribute:days
,seconds
,microseconds
undnanoseconds
.Unterstützung für
diff
mit Zeitstempelspalten aufaxis=0
undaxis=1
.Unterstützung für
TimedeltaIndex
-Methoden:ceil
,floor
undround
.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.round
hinzugefügt.Dokumentationsseiten für
DatetimeIndex
hinzugefügt.Unterstützung für
Index.name
,Index.names
,Index.rename
undIndex.set_names
hinzugefügt.Unterstützung von
Index.__repr__
hinzugefügt.Unterstützung für
DatetimeIndex.month_name
undDatetimeIndex.day_name
hinzugefügt.Unterstützung für
Series.dt.weekday
,Series.dt.time
undDatetimeIndex.time
hinzugefügt.Unterstützung für
Index.min
undIndex.max
hinzugefügt.Unterstützung von
pd.merge_asof
hinzugefügt.Unterstützung für
Series.dt.normalize
undDatetimeIndex.normalize
hinzugefügt.Unterstützung für
Index.is_boolean
,Index.is_integer
,Index.is_floating
,Index.is_numeric
undIndex.is_object
hinzugefügt.Unterstützung für
DatetimeIndex.round
,DatetimeIndex.floor
undDatetimeIndex.ceil
hinzugefügt.Unterstützung für
Series.dt.days_in_month
undSeries.dt.daysinmonth
hinzugefügt.Unterstützung für
DataFrameGroupBy.value_counts
undSeriesGroupBy.value_counts
hinzugefügt.Unterstützung für
Series.is_monotonic_increasing
undSeries.is_monotonic_decreasing
hinzugefügt.Unterstützung für
Index.is_monotonic_increasing
undIndex.is_monotonic_decreasing
hinzugefügt.Unterstützung von
pd.crosstab
hinzugefügt.Unterstützung für
pd.bdate_range
hinzugefügt und Unterstützung für Geschäftshäufigkeit (B, BME, BMS, BQE, BQS, BYE, BYS) sowohl fürpd.date_range
als auchpd.bdate_range
einbezogen.Unterstützung für Lazy-
Index
-Objekte alslabels
inDataFrame.reindex
undSeries.reindex
hinzugefügt.Unterstützung für
Series.dt.days
,Series.dt.seconds
,Series.dt.microseconds
undSeries.dt.nanoseconds
hinzugefügt.Unterstützung für die Erstellung eines
DatetimeIndex
aus einemIndex
vom 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_seconds
hinzugefü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_type
wurde ü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
NotImplementedError
für bitweise Indexoperatoren.Anzeige einer verständlicheren Fehlermeldung, wenn
Index.names
auf 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_index
oder die EinstellungDataFrame.index
oderSeries.index
durch Vermeidung von Überprüfungen, die eine Eager-Evaluation erfordern. Wenn der neue Index nicht mit der aktuellenSeries
- oderDataFrame
-Objektlänge übereinstimmt, wird folglich keinValueError
mehr 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
AssertionError
im Strukturbaum von binären Operationen.Korrektur eines Fehlers in
Series.dt.isocalendar
bei Verwendung einer benannten SerieKorrektur des
inplace
-Arguments für Serienobjekte, die von DataFrame-Spalten abgeleitet sind.Korrektur eines Fehlers, bei dem
Series.reindex
undDataFrame.reindex
den Namen des Ergebnisindexes nicht korrekt aktualisiert haben.Korrektur eines Fehlers, bei dem
Series.take
keinen Fehler anzeigte, wennaxis=1
angegeben war.
Version 1.21.1 (05.09.2024)¶
Fehlerkorrekturen¶
Korrektur eines Fehlers, bei dem die Verwendung von
to_pandas_batches
mit 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_equal
hinzugefü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_OPTIONS
hinzugefügt.Unterstützung für die Übergabe des Parameters
parameters
anColumn.rlike
undColumn.regexp
hinzugefü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_enabled
aufTrue
aktiviert werden.Unterstützung für Zeichenfolgenliterale für den Parameter
fmt
vonsnowflake.snowpark.functions.to_date
hinzugefü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
NotImplementedError
nicht auslöst.
Lokale Snowpark-Testaktualisierungen¶
Neue Features¶
Unterstützung von folgenden APIs hinzugefügt:
snowflake.snowpark.functions
rank
dense_rank
percent_rank
cume_dist
ntile
datediff
array_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
rlike
undregexp
.
Fehlerkorrekturen¶
Korrektur eines Fehlers, bei dem die Fensterfunktionen
LEAD
undLAG
die Optionignore_nulls
nicht 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.backfill
undSeries.bfill
hinzugefügt.Unterstützung für
DataFrame.compare
undSeries.compare
mit Standardparametern hinzugefügt.Unterstützung für
Series.dt.microsecond
undSeries.dt.nanosecond
hinzugefügt.Unterstützung für
Index.is_unique
undIndex.has_duplicates
hinzugefügt.Unterstützung von
Index.equals
hinzugefügt.Unterstützung von
Index.value_counts
hinzugefügt.Unterstützung für
Series.dt.day_name
undSeries.dt.month_name
hinzugefügt.Unterstützung für die Indizierung des Index hinzugefügt, z. B.
df.index[:10]
.Unterstützung für
DataFrame.unstack
undSeries.unstack
hinzugefügt.Unterstützung für
DataFrame.asfreq
undSeries.asfreq
hinzugefügt.Unterstützung für
Series.dt.is_month_start
undSeries.dt.is_month_end
hinzugefügt.Unterstützung für
Index.all
undIndex.any
hinzugefügt.Unterstützung für
Series.dt.is_year_start
undSeries.dt.is_year_end
hinzugefügt.Unterstützung für
Series.dt.is_quarter_start
undSeries.dt.is_quarter_end
hinzugefügt.Unterstützung für Lazy-
DatetimeIndex
hinzugefügt.Unterstützung für
Series.argmax
undSeries.argmin
hinzugefügt.Unterstützung von
Series.dt.is_leap_year
hinzugefügt.Unterstützung von
DataFrame.items
hinzugefügt.Unterstützung für
Series.dt.floor
undSeries.dt.ceil
hinzugefügt.Unterstützung von
Index.reindex
hinzugefü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_end
undis_leap_year
.Unterstützung für
Resampler.fillna
undResampler.bfill
hinzugefügt.Beschränkte Unterstützung für den Typ
Timedelta
hinzugefügt, einschließlich der Erstellung vonTimedelta
-Spalten undto_pandas
.Unterstützung für
Index.argmax
undIndex.argmin
hinzugefü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_like
entfernt.Dataframe.columns
gibt jetzt ein natives Pandas Index-Objekt anstelle eines Snowpark Index-Objekts zurück.query_compiler
-Argumente imIndex
Konstruktor überarbeitet und eingeführt, umIndex
aus dem Abfrage-Compiler zu erstellen.pd.to_datetime
gibt nun einDatetimeIndex
-Objekt statt einesSeries
-Objekts zurück.pd.date_range
gibt nun einDatetimeIndex
-Objekt statt einesSeries
-Objekts zurück.
Fehlerkorrekturen¶
Die Übergabe einer nicht unterstützten Aggregationsfunktion an
pivot_table
führt zuNotImplementedError
stattKeyError
.Achsenbeschriftungen und aufrufbare Namen wurden aus Fehlermeldungen und Telemetrie über nicht unterstützte Aggregationen entfernt.
Korrektur von
AssertionError
inSeries.drop_duplicates
undDataFrame.drop_duplicates
bei 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
DataFrame
hinzugefü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._in
durch Vermeidung von unnötigen Casts für numerische Werte. Sie können diese Optimierung durch Einstellen vonsession.eliminate_numeric_sql_value_cast_enabled = True
aktivieren.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_json
zurSession.SessionBuilder.app_name
-Funktion hinzugefügt, der den App-Namen inSession.query_tag
im JSON-Format festlegt. Standardmäßig ist dieser Parameter aufFalse
eingestellt.
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.functions
random
Neue Parameter für die
patch
-Funktion bei der Registrierung einer Mock-Funktion hinzugefügt:distinct
ermö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.Index
fü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_order
in der MethodeDataFrameWriter.save_as_table
hinzugefügt.
Fehlerkorrekturen¶
Korrektur eines Fehlers, der dazu führte, dass die
DecimalType
-Spalten bei Verwendung inBinaryExpressions
fälschlicherweise auf Ganzzahlen abgeschnitten wurden.
Snowpark Pandas API-Aktualisierungen¶
Neue Features¶
Neue API-Unterstützung für Folgendes hinzugefügt:
DataFrames
DataFrame.nlargest
undDataFrame.nsmallest
DataFrame.assign
DataFrame.stack
DataFrame.pivot
DataFrame.to_csv
DataFrame.corr
DataFrame.corr
DataFrame.equals
DataFrame.reindex
DataFrame.at
undDataFrame.iat
Serie
Series.nlargest
undSeries.nsmallest
Series.at
undSeries.iat
Series.dt.isocalendar
Series.equals
Series.reindex
Series.to_csv
Series.case_when
, außer wenn Bedingung oder Ersatz abrufbar istseries.plot()
mit Daten, die auf dem lokalen Client materialisiert wurden
GroupBy
DataFrameGroupBy.all
undDataFrameGroupBy.any
DataFrameGroupBy
- undSeriesGroupBy
-Aggregationenfirst
undlast
DataFrameGroupBy.get_group
SeriesGroupBy.all
undSeriesGroupBy.any
Allgemeines
pd.pivot
read_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
replace
undfrac > 1
inDataFrame.sample
undSeries.sample
hinzugefügt.Teilweise Unterstützung für
Series.str.translate
hinzugefügt, bei der die Werte in dertable
aus Zeichenfolgen mit einem Codepunkt bestehen.Unterstützung für den Parameter
limit
hinzugefügt, wenn der Parametermethod
infillna
verwendet wird.
Dokumentationsseiten für
Index
und seine APIs hinzugefügt.
Fehlerkorrekturen¶
Korrektur eines Problems bei der Verwendung von np.where und df.where, wenn der skalare
other
das Literal 0 ist.Korrektur eines Fehlers bezüglich des Präzisionsverlustes bei der Konvertierung in Snowpark Pandas
DataFrame
oderSeries
mitdtype=np.uint64
.Korrektur eines Fehlers, bei dem
values
aufindex
gesetzt werden, wennindex
undcolumns
alle Spalten im DataFrame währendpivot_table
enthalten.
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_table
undDataFrame.pivot_table
.Unterstützung für den Parameter
inplace
inDataFrame.sort_index
undSeries.sort_index
hinzugefü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_boolean
hinzugefügt.Dokumentationsseiten für
Index
und 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.dropna
aufgrund vonRecursionError: maximum recursion depth exceeded
fehlschlä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
strict
bei der Registrierung von UDFs und gespeicherten Prozeduren hinzugefügt.
Fehlerkorrekturen¶
Korrektur eines Fehlers in
convert_timezone
, durch den die Einstellung des Parameterssource_timezone
zu einem Fehler führte.Korrektur eines Fehlers, bei dem das Erstellen eines DataFrame mit leeren Daten vom Typ
DateType
denAttributeError
auslö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 einenIndexError
auslöst, wenn eine eingehende Spalte einen nicht fortlaufenden Zeilenindex hat.Korrektur eines Fehlers bei der Behandlung von
CaseExpr
-Ausdrücken, der einenIndexError
auslöst, wenn eine eingehende Spalte einen nicht fortlaufenden Zeilenindex hat.Korrektur eines Fehlers in der Implementierung von
Column.like
, der einenIndexError
auslöst, wenn eine eingehende Spalte einen nicht fortlaufenden Zeilenindex hat.
Verbesserungen¶
Unterstützung für Typenzwang in der Implementierung von
DataFrame. replace
,DataFrame. dropna
und der Mock-Funktioniff
hinzugefügt.
Snowpark Pandas API-Aktualisierungen¶
Neue Features¶
Teilweise Unterstützung für
DataFrame.pct_change
undSeries.pct_change
ohne die Parameterfreq
undlimit
hinzugefügt.Unterstützung für
Series.str.get
hinzugefügt.Unterstützung für
Series.dt.dayofweek
,Series.dt.day_of_week
,Series.dt.dayofyear
undSeries.dt.day_of_year
hinzugefügt.Unterstützung für :codenowrap`Series.str.__getitem__ (Series.str[…])` hinzugefügt.
Unterstützung für
Series.str.lstrip
undSeries.str.rstrip
hinzugefügt.Unterstützung für
DataFrameGroupby.size
undSeriesGroupby.size
hinzugefügt.Unterstützung für
DataFrame.expanding
undSeries.expanding
für die Aggregationencount
,sum
,min
,max
,mean
,std
undvar
mitaxis=0
hinzugefügt.Unterstützung für
DataFrame.rolling
undSeries.rolling
für eine Aggregationszählung mitaxis=0
hinzugefügt.Unterstützung für
Series.str.match
hinzugefügt.Unterstützung für
DataFrame.resample
undSeries.resample
fü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.describe
bei einem Rahmen mit doppelten Spalten mit unterschiedlichendtypes
zu einem Fehler oder falschen Ergebnissen führen konnte.Korrektur eines Fehlers in
DataFrame.rolling
undSeries.rolling
, sodasswindow=0
nunNotImplementedError
stattValueError
auslöst
Verbesserungen¶
Unterstützung für benannte Aggregationen in
DataFrame.aggregate
undSeries.aggregate
mitaxis=0
hinzugefügt.pd.read_csv
liest mit dem nativen Pandas CSV-Parser und lädt die Daten dann mit Parquet in Snowflake hoch. Dies aktiviert die meisten Parameter, die vonread_csv
unterstü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.Index
direkt in Snowpark Pandas. Die Unterstützung fürpd.Index
als 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()
undnames
wurden hinzugefügt. Fürdf.index
erstellt Snowpark Pandas ein Lazy-Index-Objekt.Für
df.columns
unterstü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_result
undSeries.cache_result
wurden hinzugefügt, damit Benutzer die ObjekteDataFrame
undSeries
fü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_table
ohne den Parameterindex
und mit dem Parametermargins
wurde hinzugefügt.Signatur von
DataFrame.shift
,Series.shift
,DataFrameGroupBy.shift
undSeriesGroupBy.shift
wurde 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.split
wurde 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
False
ENCODING mit Wert
UTF8
Unterstützung für
DataFrame.analytics.moving_agg
undDataFrame.analytics.cumulative_agg_agg
hinzugefügt.Unterstützung für Parameter
if_not_exists
bei 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
map
undstruct
verhinderte.Fehler behoben, bei dem die Funktion
date_add
einige 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_ntz
keineNone
-Daten verarbeiten konnte.Fehler behoben, bei dem Mock-UDFs die Ausgabedaten von
None
nicht korrekt verarbeiteten.Fehler behoben, bei dem
DataFrame.with_column_renamed
nach Join-Operationen die Attribute von übergeordnetenDataFrames
ignorierte.Fehler behoben, bei dem die Integer-Genauigkeit von großen Werten verloren ging, wenn sie in ein pandas-
DataFrame
konvertiert wurden.Fehler behoben, bei dem das Schema eines
datetime
-Objekts falsch war, wenn einDataFrame
aus einem pandas-DataFrame
erstellt wurde.Fehler in der Implementierung von
Column.equal_nan
behoben, bei dem Null-Daten nicht korrekt verarbeitet wurden.Fehler behoben, bei dem
DataFrame.drop
nach Join-Operationen die Attribute von übergeordnetenDataFrames
ignorierte.Fehler in der Mock-Funktion
date_part
behoben, bei dem der Spaltentyp falsch eingestellt war.Fehler behoben, bei dem
DataFrameWriter.save_as_table
beim Einfügen von Null-Daten in nicht nullwertfähige Spalten keine Ausnahmen auslöste.Fehler in der Implementierung von
DataFrameWriter.save_as_table
behoben: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
pyarrow
wurde entfernt, da sie nicht verwendet wird.Abdeckung der Zieltypen von
Column.cast
wurde 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_permanent
undanonymous
bei 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
NotImplementedError
anstelle 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_table
DataFrame.create_or_replace_view
DataFrame.create_or_replace_temp_view
DataFrame.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
NumericType
undVariantType
zu den Mock-Funktionento_timestamp_ltz
,to_timestamp_ntz
,to_timestamp_tz
undto_timestamp
hinzugefügt.Unterstützung für Datenkonvertierung von
DecimalType
,BinaryType
,ArrayType
,MapType
,TimestampType
,DateType
undTimeType
zur Mock-Funktionto_char
hinzugefügt.Unterstützung von folgenden APIs hinzugefügt:
snowflake.snowpark.functions.to_varchar
snowflake.snowpark.DataFrame.pivot
snowflake.snowpark.Session.cancel_all
Neue Ausnahmeklasse
snowflake.snowpark.mock.exceptions.SnowparkLocalTestingException
eingeführt.Unterstützung für die Umwandelung in
FloatType
wurde 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.path
befanden.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
substr
undsubstring
nicht mit einem nullbasiertenstart_expr
umgehen konnten.
Verbesserungen¶
Die Benutzererfahrung bei Fehlern wurde vereinheitlicht, indem
SnowparkLocalTestingException
in Fehlerfällen ausgelöst wird, was derSnowparkSQLException
entspricht, die bei nicht lokaler Ausführung ausgelöst wird.Die Benutzererfahrung bei Fehlern für die Methode
Session.write_pandas
wurde verbessert, sodassNotImplementError
beim 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.trace
wurde 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
,TimestampType
undVariantType
zur Mock-Funktionto_date
hinzugefügt.Unterstützung von folgenden APIs hinzugefügt:
snowflake.snowpark.functions
:get
concat
concat_ws
Fehlerkorrekturen¶
Fehler behoben, der dazu führte, dass die Werte
NaT
undNaN
nicht 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.csv
nicht 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.nan
stattNone
enthielt.Fehler in den Funktionen
sum
undcovar_pop
behoben, sodass nun bei einemmath.nan
-Wert in den Daten auch die Ausgabemath.nan
ist.Fehler behoben, bei dem Stagingbereichsoperationen nicht mit Verzeichnissen umgehen konnten.
Fehler behoben, sodass
DataFrame.to_pandas
fü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
truncate
zuDataFrameWrite
hinzugefü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
DataFrame
in eine oder mehrere Dateien in einem Stagingbereich zu entladen:DataFrame.write.json
DataFrame.write.csv
DataFrame.write.parquet
Verteilte Ablaufverfolgung mithilfe offener Telemetrie-APIs für Aktionsfunktionen in
DataFrame
undDataFrameWriter
hinzugefügt:snowflake.snowpark.DataFrame
:collect
collect_nowait
to_pandas
count
show
snowflake.snowpark.DataFrameWriter
:save_as_table
Unterstützung für
snow://
-URLs zusnowflake.snowpark.Session.file.get
undsnowflake.snowpark.Session.file.get_stream
hinzugefügt.Unterstützung für das Registrieren von gespeicherten Prozeduren und UDFs mit einem
comment
hinzugefü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_enabled
aufTrue
setzen.
Fehlerkorrekturen¶
Fehler behoben, bei dem
statement_params
nicht an Abfrageausführungen übergeben wurde, die gespeicherte Prozeduren und benutzerdefinierte Funktionen registrieren.Fehler behoben, der dazu führte, dass
snowflake.snowpark.Session.file.get_stream
bei in Anführungszeichen gesetzten Speicherorten von Stagingbereichen fehlschlug.Fehler behoben, durch den ein interner Typhinweis in
utils.py
einenAttributeError
auslö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.put
file.put_stream
file.get
file.get_stream
read.json
add_import
remove_import
get_imports
clear_imports
add_packages
add_requirements
clear_packages
remove_package
udf.register
udf.register_from_file
sproc.register
sproc.register_from_file
snowflake.snowpark.functions
current_database
current_session
date_trunc
object_construct
object_construct_keep_null
pow
sqrt
udf
sproc
Unterstützung für Datenkonvertierung von
StringType
,TimestampType
undVariantType
zur Mock-Funktionto_time
hinzugefügt.
Fehlerkorrekturen¶
Fehler behoben, durch den Spalten für konstante Funktionen mit Nullen gefüllt wurden.
to_object
,to_array
undto_binary
korrigiert, 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.getOrCreate
die 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
process
wurde hinzugefügt.Unterstützung für Datenframe-Funktionen hinzugefügt:
to_timestamp_ltz
to_timestamp_ntz
to_timestamp_tz
locate
Unterstützung für den ASOF JOIN-Typ hinzugefügt.
Unterstützung der folgenden lokalen Test-APIs wurde hinzugefügt:
snowflake.snowpark.functions:
to_double
to_timestamp
to_timestamp_ltz
to_timestamp_ntz
to_timestamp_tz
greatest
least
convert_timezone
dateadd
date_part
snowflake.snowpark.Session:
get_current_account
get_current_warehouse
get_current_role
use_schema
use_warehouse
use_database
use_role
Verbesserungen¶
Telemetrie für lokales Testen hinzugefügt.
Fehlermeldung von
DataFrameReader
wurde verbessert, sodassFileNotFound
einen Fehler auslöst, wenn ein Pfad gelesen wird, der nicht existiert, oder wenn es keine Dateien unter dem Pfad gibt.
Fehlerkorrekturen¶
Fehler in
SnowflakePlanBuilder
behoben, bei demsave_as_table
Spalten, 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.csv
analysiert die Daten falsch, wenn der optionale Parameterfield_optionally_enclosed_by
angegeben ist.Column.regexp
berücksichtigt nur den ersten Eintrag, wennpattern
einColumn
-Wert ist.Table.update
gibtKeyError
aus, wenn in den Zeilen Nullwerte aktualisiert werden.VARIANT-Spalten lösen bei
DataFrame.collect
einen Fehler aus.count_distinct
funktioniert beim Zählen nicht korrekt.Nullwerte in Integer-Spalten lösen
TypeError
aus.
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_part
zur Funktionlast_day
hinzugefügt.SessionBuilder.app_name
setzt denquery_tag
-Wert, nachdem die Sitzung erstellt wurde.Unterstützung der folgenden lokalen Testfunktionen wurde hinzugefügt:
current_timestamp
current_date
current_time
strip_null_value
upper
lower
length
initcap
Verbesserungen¶
Bereinigungslogik beim Herunterfahren des Interpreters hinzugefügt, um alle aktiven Sitzungen zu schließen.
Fehlerkorrekturen¶
Fehler in
DataFrame.to_local_iterator
behoben, 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.range
ein 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=True
bei derto_pandas
-Konvertierung, um optimale Arbeitsspeicherzuteilung zu erreichen. Dieser Parameter wird anpyarrow.Table.to_pandas
übergeben, wodurchPyArrow
bei 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_pandas
behoben, der bei der Auswertung von DataFrames auftrat, die eineIntergerType
-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 alsint8
zurückgegeben wurde, nun alsint64
zurückgegeben wird. Benutzer können dies beheben, indem sie für ihre Rückgabespalten explizit Präzisionswerte angeben.Abgestimmtes Verhalten von
Session.call
im Falle von gespeicherten Tabellenprozeduren, bei denen die Ausführung vonSession.call
nur dann eine gespeicherte Prozedur auslösen würde, wenn einecollect()
-Operation ausgeführt wird.StoredProcedureRegistration
fügt nun automatischsnowflake-snowpark-python
als Paketabhängigkeit zur lokalen Bibliotheksversion des Clients hinzu. Wenn der Server diese Version nicht unterstützt, wird ein Fehler ausgegeben.
Neue Features¶
statement_params
inStoredProcedure.__call__
bereitgestellt.Zwei optionale Argumente zu
Session.add_import
hinzugefü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_integrations
undsecrets
beim Erstellen einer UDAF zu Snowpark Python hinzugefügt, um Integration mit externem Zugriff zu ermöglichen.Neue Methode
Session.append_query_tag
hinzugefü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_tag
hinzugefügt, die Aktualisierungen eines JSON-kodierten Dictionary-Abfrage-Tags ermöglicht.SessionBuilder.getOrCreate
versucht nun, das Singleton zu ersetzen, das zurückgegeben wird, wenn Ablaufen des Tokens erkannt wurde.Folgende Funktionen zu
snowflake.snowpark.functions
hinzugefügt:array_except
create_map
sign
/signum
Folgende Funktionen zu
DataFrame.analytics
hinzugefügt:Funktion
moving_agg
zuDataFrame.analytics
hinzugefügt, um gleitende Aggregationen wie Summen und Durchschnitte mit mehreren Fenstergrößen zu ermöglichen.Funktion
cummulative_agg
zuDataFrame.analytics
hinzugefügt, um gleitende Aggregationen wie Summen und Durchschnitte mit mehreren Fenstergrößen zu ermöglichen.
Fehlerkorrekturen¶
Fehler in
DataFrame.na.fill
behoben, der dazu führte, dass boolesche Werte fälschlicherweise ganzzahlige Werte überschrieben.Fehler in
Session.create_dataframe
behoben, 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_DATAFRAME
so 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_pandas
den Dezimaltyp erhält, wenn die Dezimalstellenzahl nicht 0 ist, und inpandas
ein 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 DataFame 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_dataframe
behoben, 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.sql
SQL-Abfragen bei Verwendung vonlimit()
gelöscht haben.Fehler behoben, der eine Ausnahme auslöste, wenn der Sitzungsparameter
ERROR_ON_NONDETERMINISTIC_UPDATE
den Wert „true“ hat.