Notes de version de la bibliothèque Snowpark pour Python pour 2025¶
Cet article contient les notes de version Snowpark Library for Python, y compris les éléments suivants, le cas échéant :
Changements de comportement
Nouvelles fonctionnalités
Corrections de bogues pour les clients
Snowflake utilise la version sémantique pour les mises à jour Snowpark Library for Python.
Voir Guide du développeur Snowpark pour Python pour la documentation.
- attention:
Python 3.8 ayant atteint sa fin de vie, des avertissements d’obsolescence seront déclenchés lors de l’utilisation de snowpark-python avec Python 3.8. Pour plus de détails, voir Prise en charge de l’environnement d’exécution Snowflake Python. Snowpark Python 1.24.0 sera la dernière version du client et du serveur à prendre en charge Python 3.8, conformément à la politique d’Anaconda. Mettez à niveau vos objets Python 3.8 existants à la version Python 3.9 ou une version plus récente.
Version 1.27.0 (2025-02-05)¶
Nouvelles fonctionnalités¶
Ajout de la prise en charge des fonctions suivantes dans functions.py
:
array_reverse
divnull
map_cat
map_contains_key
map_keys
nullifzero
snowflake_cortex_sentiment
acosh
asinh
atanh
bit_length
bitmap_bit_position
bitmap_bucket_number
bitmap_construct_agg
cbrt
equal_null
from_json
ifnull
localtimestamp
max_by
min_by
nth_value
nvl
octet_length
position
regr_avgx
regr_avgy
regr_count
regr_intercept
regr_r2
regr_slope
regr_sxx
regr_sxy
regr_syy
try_to_binary
base64
base64_decode_string
base64_encode
editdistance
hex
hex_encode
instr
log1p
log2
log10
percentile_approx
unbase64
Ajout de la prise en charge de la spécification d’une chaîne de schéma (y compris la syntaxe struct implicite) lors de l’appel de
DataFrame.create_dataframe
.Ajout de la prise en charge de
DataFrameWriter.insert_into/insertInto
. Cette méthode prend également en charge le mode de test local.Ajout de la prise en charge de
DataFrame.create_temp_view
pour créer une vue temporaire. L’opération échouera si la vue existe déjà.Ajout de la prise en charge de plusieurs colonnes dans les fonctions
map_cat
etmap_concat
.Ajout d’une option
keep_column_order
pour conserver l’ordre original des colonnes dansDataFrame.with_column
etDataFrame.with_columns
.Ajout d’options aux conversions de colonnes qui permettent de renommer ou d’ajouter des champs dans les colonnes
StructType
.Ajout de la prise en charge de
contains_null parameter
àArrayType
.Ajout de la prise en charge de la création d’une vue temporaire via
DataFrame.create_or_replace_temp_view
à partir d’un DataFrame créé par la lecture d’un fichier depuis une zone de préparation.Ajout de la prise en charge du paramètre
value_contains_null
àMapType
.Ajout d”« interactif » à la télémétrie qui indique si l’environnement actuel est interactif.
Autorisation de
session.file.get
dans une Native App à lire les chemins d’accès aux fichiers commençant par / à partir de la version actuelle.Ajout de la prise en charge de plusieurs fonctions d’agrégation après
DataFrame.pivot
.
Fonctions expérimentales¶
Ajout de la classe Catalogue pour la gestion des objets Snowflake. Vous pouvez y accéder via
Session.catalog
.snowflake.core
est une dépendance nécessaire à cette fonction.
Autorisation du schéma d’entrée utilisateur lors de la lecture du fichier JSON dans une zone de préparation.
Ajout de la prise en charge de la spécification d’une chaîne de schéma (y compris la syntaxe struct implicite) lors de l’appel de
DataFrame.create_dataframe
.
Améliorations¶
Mise à jour de
README.md
` de sorte à inclure des instructions sur la façon de vérifier les signatures des paquets à l’aide decosign
.
Corrections de bogues¶
Correction d’un bogue dans le mode de test local qui faisait qu’une colonne contenait None alors qu’elle aurait dû contenir 0.
Correction d’un bogue dans
StructField.from_json
` qui empêchait l’analyse correcte deTimestampTypes
` avectzinfo
`.Correction d’un bogue dans
function date_format
qui provoquait une erreur lorsque la colonne d’entrée était de type date ou horodatage.Correction d’un bogue dans DataFrame qui permettait d’insérer une valeur nulle dans une colonne non nullable.
Correction d’un bogue dans replace and lit qui déclenchait une erreur d’assertion d’indication de type lors du passage d’objets d’expression Column.
Correction d’un bogue dans
pandas_udf
` et danspandas_udtf
` à cause duquel le paramètre de session était ignoré par erreur.Correction d’un bogue qui provoquait une erreur de conversion de type incorrecte pour les fonctions système appelées via
session.call
.
Mises à jour de l’API pandas Snowpark¶
Nouvelles fonctionnalités¶
Prise en charge de
Series.str.ljust
etSeries.str.rjust
.Ajout de la prise en charge de
Series.str.center
.Ajout de la prise en charge de
Series.str.pad
.Ajout de la prise en charge de l’application de la fonction Snowpark Python
snowflake_cortex_sentiment
.Ajout de la prise en charge de
DataFrame.map
.Ajout de la prise en charge de
DataFrame from_dict
etDataFrame.from_records
.Ajout de la prise en charge des noms de champ en casse mixte dans les colonnes de type struct.
Ajout de la prise en charge de
SeriesGroupBy.unique
.Ajout de la prise en charge de
Series.dt.strftime
avec les directives suivantes :%d : jour du mois sous forme de nombre décimal complété par des zéros.
%m : mois sous forme de nombre décimal complété par des zéros.
%Y : année avec le siècle sous forme de nombre décimal.
%H : heure (horloge de 24 heures) sous forme de nombre décimal complété par des zéros.
%M : minute sous forme de nombre décimal complété par des zéros.
%S : seconde sous forme de nombre décimal complété par des zéros.
%f : microseconde sous forme de nombre décimal complété par des zéros jusqu’à 6 chiffres.
%j : jour de l’année sous forme de nombre décimal complété par des zéros.
%X : représentation appropriée du temps conformément aux paramètres régionaux.
%% : caractère « % » littéral.
Ajout de la prise en charge de
Series.between
.Ajout de la prise en charge de
include_groups=False
dansDataFrameGroupBy.apply
.Ajout de la prise en charge de
expand=True
dansSeries.str.split
.Prise en charge de
DataFrame.pop
etSeries.pop
.Prise en charge de
first
etlast
dansDataFrameGroupBy.agg
etSeriesGroupBy.agg
.Ajout de la prise en charge de
Index.drop_duplicates
.Ajout de la prise en charge des agrégations
"count"
,"median"
,np.median
,"skew"
,"std"
,np.std
"var"
etnp.var
danspd.pivot_table()
,DataFrame.pivot_table()
etpd.crosstab()
.
Améliorations¶
Amélioration des performances des méthodes
DataFrame.map
,Series.apply
etSeries.map
en mappant les fonctions numpy vers des fonctions Snowpark, si possible.Ajout de documentation pour
DataFrame.map
.Amélioration des performances de
DataFrame.apply
en mappant les fonctions numpy vers des fonctions Snowpark, si possible.Ajout d’une documentation sur l’étendue de l’interopérabilité de Snowpark pandas avec scikit-learn.
Inférence du type de renvoi des fonctions dans
Series.map
,Series.apply
etDataFrame.map
si l’indice de type n’est pas fourni.Ajout de
call_count
à la télémétrie qui compte les appels de méthode, y compris les appels de protocole d’échange.