Snowpark Library for Pythonの2025年リリースノート¶
この記事には、 Snowpark Library for Python のリリースノートが含まれています。また、該当する場合は以下が含まれます。
動作の変更
新機能
顧客向けバグ修正
Snowflake は、 Snowpark Library for Python の更新にセマンティックバージョニングを使用します。
ドキュメントについては、 Python用Snowpark開発者ガイド をご参照ください。
- 警告:
Python 3.8が サポート終了 に達したため、Python 3.8でSnowpark-pythonを使用する際に非推奨の警告がトリガーされます。詳細については、 Snowflake Pythonランタイムのサポート をご参照ください。Snowpark Python 1.24.0は、 Anacondaのポリシー に従い、Python 3.8をサポートする最後のクライアントとサーバーバージョンとなります。既存のPython 3.8オブジェクトをPython 3.9以上にアップグレードしてください。
バージョン1.27.0(2025-02-05)¶
新機能¶
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
DataFrame.create_dataframe
を呼び出す際にスキーマ文字列(暗黙の構造体構文を含む)を指定できるようになりました。DataFrameWriter.insert_into/insertInto
のサポートを追加しました。この方法はローカルテストモードもサポートしています。DataFrame.create_temp_view
で仮ビューを作成できるようになりました。ビューが既に存在する場合は失敗します。関数
map_cat
およびmap_concat
において、複数列のサポートを追加しました。DataFrame.with_column
とDataFrame.with_columns
で元の列の並び順を維持するためのオプションkeep_column_order
を追加しました。StructType
列でのフィールドの名前変更や追加を可能にするオプションを列キャストに追加しました。ArrayType
にcontains_null parameter
のサポートを追加しました。ステージからファイルを読み込んで作成された DataFrame から
DataFrame.create_or_replace_temp_view
経由で仮ビューを作成する機能を追加しました。MapType
へのvalue_contains_null
パラメーターのサポートを追加しました。現在の環境がインタラクティブなものであるかどうかを示すテレメトリーにインタラクティブを追加しました。
現在のバージョンから/で始まるファイルパスを読み込めるように、Native Appsで
session.file.get
を許可します。DataFrame.pivot
以降、複数の集計関数をサポートするようになりました。
実験的機能¶
Snowflakeオブジェクトを管理するためのCatalogクラスを追加しました。
Session.catalog
からアクセスできます。snowflake.core
はこの機能に必要な依存関係です。
ステージ上で JSON ファイルを読み込む際に、ユーザーによるスキーマ入力を許可します。
DataFrame.create_dataframe
を呼び出す際にスキーマ文字列(暗黙の構造体構文を含む)を指定できるようになりました。
改善¶
README.md
` を更新し、cosign
を使用したパッケージ署名の検証方法の説明を追加しました。
バグ修正¶
ローカルテストモードで、列に0が含まれる必要がある場合にNoneが含まれるバグを修正しました。
StructField.from_json
` でtzinfo
` を含むTimestampTypes
` が正しく解析されないバグを修正しました。function date_format
で入力列が日付タイプまたはタイムスタンプタイプの場合にエラーとなるバグを修正しました。DataFrame でNULL値を挿入できない列にNULL値が挿入されるバグを修正しました。
replaceとlitにおいて、列式オブジェクトを渡す際に型ヒントアサーションエラーが発生するバグを修正しました。
pandas_udf
` およびpandas_udtf
` において、セッションパラメーターが誤って無視されていたバグを修正しました。session.call
を通して呼び出されたシステム関数で、タイプ変換エラーが発生するバグを修正しました。
Snowpark Pandas API の更新¶
新機能¶
Series.str.ljust
およびSeries.str.rjust
のサポートを追加しました。Series.str.center
のサポートを追加しました。Series.str.pad
のサポートを追加しました。Snowpark Python関数
snowflake_cortex_sentiment
の適用サポートを追加しました。DataFrame.map
のサポートを追加しました。DataFrame.from_dict
およびDataFrame.from_records
のサポートを追加しました。構造体型列で大文字と小文字が混在するフィールド名のサポートを追加しました。
SeriesGroupBy.unique
のサポートを追加しました。以下のディレクティブによる
Series.dt.strftime
のサポートを追加しました。%d: ゼロ埋めした10進数としての月の日付。
%m: ゼロ埋めした10進数としての月。
%Y: 世紀を10進数で表した年。
%H: ゼロ埋めした10進数としての時間(24時間制)。
%M: ゼロ埋めした10進数としての分。
%S: ゼロ埋めした10進数としての秒。
%f: マイクロ秒を10進数で表し、6桁にゼロ埋め。
%j: ゼロ埋めした10進数としての年の日付。
%X: ロケールの適切な時間表現。
%%: リテラル「%」文字。
Series.between
のサポートを追加しました。DataFrameGroupBy.apply ` での :code:`include_groups=False
のサポートを追加しました。Series.str.split
でのexpand=True
のサポートを追加しました。DataFrame.pop
およびSeries.pop
のサポートを追加しました。DataFrameGroupBy.agg
とSeriesGroupBy.agg
でfirst
とlast
のサポートを追加しました。Index.drop_duplicates
のサポートを追加しました。"count"
、"median"
、np.median
、"skew"
、"std"
、np.std
"var"
、およびnp.var
のpd.pivot_table()
、DataFrame.pivot_table()
、およびpd.crosstab()
における集計のサポートを追加しました。
改善¶
可能であれば、numpy関数をSnowpark関数にマッピングすることで、
DataFrame.map
、Series.apply
、Series.map
メソッドのパフォーマンスを向上させます。DataFrame.map
のドキュメントを追加しました。可能であれば、numpy関数をSnowpark関数にマッピングすることで、
DataFrame.apply
のパフォーマンスを向上させます。Snowparkのpandasとscikit-learnの相互運用性の範囲に関するドキュメントを追加しました。
型ヒントが提供されていない場合、
Series.map
、Series.apply
、DataFrame.map
の関数の戻り値の型を推測します。交換プロトコルの呼び出し含むメソッド呼び出しをカウントするテレメトリーに
call_count
を追加しました。