2025년 Python용 Snowpark 라이브러리 릴리스 정보¶
이 문서에는 Snowpark Library for Python 에 대한 릴리스 정보가 있는데, 해당되는 경우 다음을 포함합니다.
동작 변경 사항
새로운 기능
고객이 직면한 버그 수정
Snowflake는 Snowpark Library for Python 업데이트에 의미 체계 버전 관리를 사용합니다.
설명서는 Python용 Snowpark 개발자 가이드 섹션을 참조하십시오.
경고
Python 3.8이 `수명 종료<https://devguide.python.org/versions/>`_ 에 도달함에 따라, Python 3.8에서 snowpark-python을 사용할 때 지원 중단 경고가 트리거됩니다. 자세한 내용은 Snowflake Python 런타임 지원 섹션을 참조하세요. Snowpark Python 1.24.0은 `Anaconda의 정책<https://forum.anaconda.com/t/python-3-8-reaches-end-of-life/87265>`_ 에 따라 Python 3.8을 지원하는 마지막 클라이언트 및 서버 버전이 될 것입니다. 기존 Python 3.8 오브젝트를 Python 3.9 이상으로 업그레이드하세요.
버전 1.37.0: 2025년 8월 18일¶
새로운 기능¶
functions.py
에서 다음xpath
함수에 대한 지원을 추가했습니다.xpath
xpath_string
xpath_boolean
xpath_int
xpath_float
xpath_double
xpath_long
xpath_short
Session.write_arrow()
함수에서use_vectorized_scanner
매개 변수에 대한 지원을 추가했습니다.DataFrame 프로파일러에서 각 쿼리에 대해
describe query time
,execution time
및sql query text
정보를 추가합니다. 이 정보를 보려면 DataFrame에 대해session.dataframe_profiler.enable()
및get_execution_profile
을 호출합니다.:code:`DataFrame.col_ilike`를 지원하는 기능이 추가되었습니다.
AsyncJob
오브젝트를 반환하는 비차단 저장 프로시저 호출에 대한 지원을 추가했습니다.Session.call()
에block: bool = True
매개 변수를 추가했습니다.block=False
인 경우 완료될 때까지 차단하는 대신AsyncJob
을 반환합니다.명명된 저장 프로시저와 익명 저장 프로시저 모두에서 비동기 지원을 하기 위해
StoredProcedure.__call__()
에block: bool = True
매개 변수를 추가했습니다.Session.call(block=False)
에 해당하는Session.call_nowait()
을 추가했습니다.
버그 수정 사항¶
대규모 입력 데이터를 사용하고
session.create_dataframe()
을 로컬로 사용하여 DataFrame 을 만들 때 내부 플랜의deepcopy
로 인해 메모리 스파이크가 발생하는 CTE 최적화 스테이지의 버그를 수정했습니다.infer_schema_options
의ignore_case
옵션이 적용되지 않는DataFrameReader.parquet
의 버그를 수정했습니다.쿼리 결과 형식이
JSON
및ARROW
로 설정된 경우to_pandas()
의 열 이름 형식이 달라지는 버그를 수정했습니다.
사용 중단¶
pkg_resources
를 지원 중단했습니다.
종속성 업데이트¶
protobuf<6.32
에 대한 종속성을 추가했습니다.
Snowpark pandas API 업데이트¶
새로운 기능¶
DataFrame.set_backend
메서드를 사용하여 Snowflake와 <Ray 간에 효율적으로 데이터를 전송하기 위한 지원을 추가했습니다.modin
의 설치된 버전은 0.35.0 이상이어야 하며,ray
를 설치해야 합니다.
종속성 업데이트¶
지원되는 modin 버전을 >=0.34.0 및 <0.36.0으로 업데이트했습니다(이전 >= 0.33.0 및 <0.35.0).
설치된 modin 버전이 0.35.0 이상인 경우 pandas 2.3에 대한 지원을 추가했습니다.
버그 수정 사항¶
pd.to_datetime
및pd.to_timedelta
가 예기치 않게IndexError
를 발생시키는 하이브리드 실행 모드(비공개 미리 보기)의 문제를 수정했습니다.잠재적인 전환 작업을 수행하기 전에 호출된 경우
pd.explain_switch
가IndexError
를 발생시키거나None
을 반환하는 버그를 수정했습니다.
버전 1.36.0: 2025년 8월 5일¶
새로운 기능¶
Session.create_dataframe
은 이제 pandas DataFrame 또는pyarrow
테이블에서 DataFrame을 만들 때Session.write_pandas
또는Session.write_arrow
에 대한 내부 호출에 전달되는 키워드 인자를 수락합니다.AsyncJob용 새 APIs를 추가했습니다.
AsyncJob.is_failed()
는 작업의 실패 여부를 나타내는 부울을 반환합니다.AsyncJob.is_done()
과 함께 사용하여 작업이 완료되고 오류가 발생했는지 확인할 수 있습니다.AsyncJob.status()
는result()
를 호출하지 않고도 자세한 모니터링을 수행하기 위해 현재 쿼리 상태를 나타내는 문자열(예: “RUNNING”, “SUCCESS”, “FAILED_WITH_ERROR”)을 반환합니다.
DataFrame 프로파일러를 추가했습니다. 사용하려면 원하는 DataFrame에 대해
get_execution_profile()
을 호출하면 됩니다. 이 프로파일러는 DataFrame을 평가하기 위해 실행된 쿼리와 각 쿼리 연산자에 대한 통계를 보고합니다. 현재는 실험적인 기능입니다.functions.py
에서 다음 함수에 대한 지원을 추가했습니다.ai_sentiment
context.configure_development_features
실험적 기능의 인터페이스를 업데이트했습니다. 사용자가 명시적으로 활성화하지 않는 한, 모든 개발 기능은 기본적으로 비활성화됩니다.
개선 사항¶
하이브리드 실행 행의 예측이 개선되고 즉시 호출이 감소했습니다.
하이브리드 실행을 사용할 때 Snowflake 외부로의 전송 비용을 제어하는 새 구성 변수를 추가했습니다.
snowflake_udf_params
키워드 인자를 전달하여 DataFrame/Series/GroupBy.apply, map 및 transform으로 영구 및 변경 불가능한 UDFs/UDTFs를 생성하기 위한 지원을 추가했습니다.pd.unique
를 사용하는 DataFrame 및 Series 입력에 대한mapping np.unique
지원을 추가했습니다.
버그 수정 사항¶
사용자가 프로그래밍 방식으로 또는 환경 변수를 사용하여 명시적으로 구성한 경우에도 Snowpark pandas 플러그인이
AutoSwitchBackend
를 무조건적으로 비활성화하는 문제를 수정했습니다.
버전 1.35.0: 2025년 7월 24일¶
새로운 기능¶
functions.py
에서 다음 함수에 대한 지원을 추가했습니다.ai_embed
try_parse_json
개선 사항¶
쿼리 주위에 괄호가 필요하지 않도록
DataFrameReader.dbapi`(비공개 미리 보기)에서 :code:`query
매개 변수가 개선되었습니다.대상 데이터 소스의 스키마를 추론할 때 발생하는 예외에 대한
DataFrameReader.dbapi
(비공개 미리 보기)의 오류 경험이 개선되었습니다.
버그 수정 사항¶
Python 저장 프로시저의 프로세스 종료 코드 1에서
dbapi
가 실패하는 :code:`DataFrameReader.dbapi`(비공개 미리 보기)의 버그를 수정했습니다.custom_schema
가 잘못된 스키마를 허용하는DataFrameReader.dbapi
(비공개 미리 보기)의 버그를 수정했습니다.custom_schema
가 Postgres 및 MySQL에 연결할 때 작동하지 않는DataFrameReader.dbapi
(비공개 미리 보기)의 버그를 수정했습니다.외부 스테이지에 대해 실패하는 스키마 추론의 버그를 수정했습니다.
Snowpark 로컬 테스트 업데이트¶
새로운 기능¶
SnowflakeFile
로 파일을 읽기 위한 로컬 테스트 지원을 추가했습니다. 테스트 지원은 로컬 파일 경로, Snow URL 의미 체계(snow://...
), 로컬 테스트 프레임워크 스테이지 및 Snowflake 스테이지(@stage/file_path
)를 사용합니다.
버전 1.34.0: 2025년 7월 14일¶
새로운 기능¶
새 옵션
TRY_CAST
를DataFrameReader
에 추가했습니다.TRY_CAST
가True
인 경우 데이터를 로드할 때 열이 하드 캐스트 대신TRY_CAST
문에 래핑됩니다.새 옵션
USE_RELAXED_TYPES
를DataFrameReader
의INFER_SCHEMA_OPTIONS
에 추가했습니다.True
로 설정할 경우 이 옵션은 모든 문자열을 최대 길이 문자열로 캐스팅하고 모든 숫자 유형을DoubleType
으로 캐스팅합니다.데이터프레임 스키마 메타데이터의 유효성을 즉시 검사할 수 있도록 디버그 기능이 개선되었습니다.
snowflake.snowpark.context.configure_development_features()
를 사용하여 활성화합니다.사용자가 데이터 프레임 전체에서 함수를 매핑할 수 있는 새 함수
snowflake.snowpark.dataframe.map_in_pandas
를 추가했습니다. 매핑 함수는 pandas DataFrames의 반복자를 입력으로 사용하고 하나를 출력으로 제공합니다.쿼리를 설명하기 위한
ttl cache
를 추가했습니다. 15초 간격으로 반복되는 쿼리는 Snowflake를 다시 쿼리하는 대신 캐시된 값을 사용합니다.로컬 수집에서 병렬 데이터 가져오기를 위한 다중 처리를 활성화하기 위해 매개 변수
fetch_with_process
를 :code:`DataFrameReader.dbapi`(PrPr)에 추가했습니다. 기본적으로 로컬 수집은 멀티스레딩을 사용합니다. 다중 처리는 Parquet 파일 생성과 같은 CPU 바인딩 작업의 성능을 향상시킬 수 있습니다.사용자가 모델의 메서드를 호출할 수 있도록 새 함수
snowflake.snowpark.functions.model
을 추가했습니다.
개선 사항¶
rowTag
옵션을 사용하여 row 태그가 있는 XML 파일을 읽을 때,rowValidationXSDPath
옵션을 사용하여 XSD 스키마를 통해 행 유효성 검사를 수행하는 지원을 추가했습니다.플랫 SQL 문을 생성하는
session.table().sample()
에 대한 SQL 생성 기능이 개선되었습니다.functions.explode
에 대한 입력으로 사용할 수 있도록 복잡한 열 식에 대한 지원을 추가했습니다.SQL 컴파일 오류에 해당하는 Python 줄을 보여주는 개선된 디버깅 기능을 추가했습니다.
snowflake.snowpark.context.configure_development_features()
를 사용하여 활성화할 수 있습니다. 이 기능은 또한 세션에서 활성화되는 AST 컬렉션에 따라 달라집니다. 이 컬렉션을 활성화하려면session.ast_enabled = True
를 사용합니다.DML/DDL 쿼리를 포함하는 Snowpark DataFrame에서
to_snowpark_pandas():code:
를 호출할 때NotImplementedError
를 발생시키지 않도록enforce_ordering=True
를 설정했습니다.
버그 수정 사항¶
Iceberg 테이블을 생성할 때 중복 유효성 검사로 인해 발생하는 버그를 수정했습니다.
커서 또는 연결을 닫으면 예기치 않게 오류가 발생하고 프로그램이 종료될 수 있는
DataFrameReader.dbapi
(비공개 미리 보기)의 버그를 수정했습니다.입력 DataFrame의 열과 일치하는 출력 열이 있는
DataFrame.select()
에서 테이블 함수를 사용할 때 발생하는 모호한 열 오류를 수정했습니다. 이 개선 사항은 DataFrame 열이Column
오브젝트로 제공될 때 작동합니다.DecimalTypes의 열에 NULL이 있는 경우 대신 열이 FloatTypes로 캐스팅되고 정밀도 손실이 발생하는 버그를 수정했습니다.
Snowpark 로컬 테스트 업데이트¶
윈도우 함수를 처리할 때 결과에서 잘못된 인덱싱이 발생하는 버그를 수정했습니다.
스칼라 숫자가
fillna
에 전달되는 경우 Snowflake에서 오류를 발생시키는 대신 숫자가 아닌 열을 무시합니다.
Snowpark pandas API 업데이트¶
새로운 기능¶
DataFrame.to_excel
및Series.to_excel
에 대한 지원이 추가되었습니다.pd.read_feather
,pd.read_orc
,pd.read_stata
에 대한 지원을 추가했습니다.하이브리드 실행 결정에 대한 디버깅 정보를 반환하는
pd.explain_switch()
에 대한 지원을 추가했습니다.전역 modin 백엔드가
Pandas
인 경우pd.read_snowflake
를 지원합니다.pd.to_dynamic_table
,pd.to_iceberg
,pd.to_view
에 대한 지원을 추가했습니다.
개선 사항¶
API 호출 및 하이브리드 엔진 스위치에 대한 modin 원격 분석을 추가했습니다.
modin
또는pandas
버전이 요구 사항과 일치하지 않는 경우 Snowflake Notebook 사용자에게 더 유용한 오류 메시지를 표시합니다.데이터 타입 호환성을 확인하는 하이브리드 실행 모드(비공개 미리 보기)의 비용 함수에 데이터 타입 가드를 추가했습니다.
pandas on Snowflake에 직접 구현되지 않는 많은 메서드에 대해 하이브리드 실행 모드(비공개 미리 보기)에서 pandas 백엔드로 자동 전환하는 기능을 추가했습니다.
pandas on Snowflake 원격 분석에 대한
type
및 기타 표준 필드를 설정했습니다.
종속성 업데이트¶
사용자가 modin 백엔드 간을 전환할 때 진행률 표시줄이 나타나도록
tqdm
및ipywidgets
를 종속성으로 추가했습니다.지원되는
modin
버전을 >=0.33.0 및 <0.35.0으로 업데이트했습니다(이전 >= 0.32.0 및 <0.34.0).
버그 수정 사항¶
특정 시리즈 작업에서
TypeError: numpy.ndarray object is not callable
을 발생시키는 하이브리드 실행 모드(비공개 미리 보기)의 버그를 수정했습니다.Pandas 백엔드에서 modin 오브젝트에 대해
np.where
과 같은numpy
작업을 호출할 때AttributeError
를 발생시키는 하이브리드 실행 모드(비공개 미리 보기)의 버그를 수정했습니다. 이 수정 사항에는modin
버전 0.34.0 이상이 필요합니다.결과 값에 추가 접미사가 적용되는
df.melt
의 문제를 수정했습니다.
버전 1.33.0(2025년 6월 19)¶
새로운 기능¶
Parquet 및 UDTF 기반 수집 모두에 대해
DataFrameWriter.dbapi
(비공개 미리 보기)의 MySQL 지원을 추가했습니다.Parquet 및 UDTF 기반 수집 모두에 대해
DataFrameReader.dbapi
(비공개 미리 보기)의 PostgreSQL 지원을 추가했습니다.UDTF 기반 수집에 대한
DataFrameWriter.dbapi
(비공개 미리 보기)의 Databricks 지원을 추가했으며, Databricks 지원의 다른 멘션과 통합되었습니다.INFER_SCHEMA
가 활성화된 파일을 읽을 때PATTERN
의 사용을 활성화하기 위해DataFrameReader
에 대한 지원을 추가했습니다.functions.py
에서 다음의 AI 지원 함수에 대한 지원을 추가했습니다.ai_complete
ai_similarity
ai_summarize_agg
(원래summarize_agg
)ai_classify
에 대한 다양한 구성 옵션
rowTag
옵션을 사용하는 행 태그가 있는 XML 파일을 읽을 때 더 많은 옵션을 사용할 수 있도록 지원을 추가했습니다.ignoreNamespace
옵션을 사용하여 열 이름에서 네임스페이스 접두사를 제거하기 위한 지원을 추가했습니다.attributePrefix
옵션을 사용하여 결과 테이블의 특성 열에 대한 접두사를 지정하기 위한 지원을 추가했습니다.excludeAttributes
옵션을 사용하여 XML 요소에서 특성을 제외하기 위한 지원을 추가했습니다.하위 요소가 없는 요소에 특성이 있는 경우
valueTag
옵션을 사용하여 값의 열 이름을 지정하기 위한 지원을 추가했습니다.nullValue
옵션을 사용하여 null 값으로 처리할 값을 지정하기 위한 지원을 추가했습니다.charset
옵션을 사용하여 XML 파일의 문자 인코딩을 지정하기 위한 지원을 추가했습니다.ignoreSurroundingWhitespace
옵션을 사용하여 XML 요소에서 주변 공백을 무시하기 위한 지원을 추가했습니다.
함수의 반환 타입을
DataFrame
오브젝트로 설정하는 데 사용할 수 있는Session.call
의 매개 변수return_dataframe
에 대한 지원을 추가했습니다.stddev
및mean
이 문자열 열에 대해 계산되도록 트리거하는strings_include_math_stats
라는Dataframe.describe
에 새 인자를 추가했습니다.DataFrame.lineage.trace
의DGQL
에서 계보를 검색할 때Edge.properties
를 검색하기 위한 지원을 추가했습니다.테이블이 이미 존재하는지 지정할 수 있도록 매개 변수
table_exists
를DataFrameWriter.save_as_table
에 추가했습니다. 이를 통해 비용이 많이 들 수 있는 테이블 조회를 건너뛸 수 있습니다.
버그 수정 사항¶
로컬 함수로 정의된
create_connection
이 다중 처리와 호환되지 않는DataFrameReader.dbapi
(비공개 미리 보기)의 버그를 수정했습니다.Databricks
TIMESTAMP
유형이TIMESTAMP_LTZ
유형이어야 하지만, SnowflakeTIMESTAMP_NTZ
유형으로 변환되는DataFrameReader.dbapi
(비공개 미리 보기)의 버그를 수정했습니다.동일한 리더 오브젝트로 반복 읽기를 수행하면 잘못 인용된 열이 생성되는
DataFrameReader.json
의 버그를 수정했습니다.select 문에서 시작되지 않은 DataFrame을 변환할 때 열 이름을 삭제하는
DataFrame.to_pandas()
의 버그를 수정했습니다.DataFrame에 UDTF가 포함되어 있고 UDTF의
SELECT *
가 올바르게 구문 분석되지 않을 때DataFrame.create_or_replace_dynamic_table
에서 오류가 발생하는 버그를 수정했습니다.함수의 값 절에서 캐스팅된 열을 사용할 수 없는 버그를 수정했습니다.
개선 사항¶
입력 pandas DataFrame에 열이 없을 때
Session.write_pandas()
및Session.create_dataframe()
에서 발생하는 오류 메시지를 개선했습니다.인자에 현재 DataFrame의 열과 충돌하는 출력 열이 있는 테이블 함수가 포함된 경우의
DataFrame.select
를 개선했습니다. 이 개선을 통해 사용자가df.select("col1", "col2", table_func(...))
에서 충돌하지 않는 열을 문자열 인자로 제공하는 경우 Snowpark 클라이언트에서 생성된 쿼리가 모호한 열 오류를 발생시키지 않습니다.더 나은 성능과 보안을 위해 인메모리 Parquet 기반 수집을 사용하도록
DataFrameReader.dbapi
(비공개 미리 보기)를 개선했습니다.테이블에 복사 작업에서
MATCH_BY_COLUMN_NAME=CASE_SENSITIVE
를 사용하도록DataFrameReader.dbapi
(비공개 미리 보기)를 개선했습니다.
Snowpark 로컬 테스트 업데이트¶
새로운 기능¶
로컬 파일 테스트에 snow URLs(
snow://
)에 대한 지원을 추가했습니다.
버그 수정 사항¶
조인되거나 이전에 필터링된 데이터에 대해 잘못된 필터링을 유발하는
Column.isin
의 버그를 수정했습니다.결과에 잘못된 인덱스를 발생시키는
snowflake.snowpark.functions.concat_ws
의 버그를 수정했습니다.
Snowpark pandas API 업데이트¶
종속성 업데이트¶
modin
종속성 제약 조건을 0.32.0에서 >=0.32.0, <0.34.0으로 업데이트했습니다. Snowpark pandas로 테스트된 최신 버전은modin
0.33.1입니다.
새로운 기능¶
**하이브리드 실행(비공개 미리 보기)**에 대한 지원을 추가했습니다.
from modin.config import AutoSwitchBackend; AutoSwitchBackend.enable()
을 실행하여 pandas on Snowflake는 특정 pandas 작업을 로컬에서 실행할지, 또는 Snowflake에서 실행할지를 자동으로 선택합니다. 이 기능은 기본적으로 비활성화되어 있습니다.
개선 사항¶
DataFrame.to_view
,Series.to_view
,DataFrame.to_dynamic_table
및Series.to_dynamic_table
에 대해index
매개 변수의 기본값을False
로 설정했습니다.테이블 생성 함수에
iceberg_version
옵션을 추가했습니다.이전에는 입력 데이터의 크기를 검색하는 쿼리를 실행했던
insert
,repr
및groupby
등의 많은 작업에 대해 쿼리 수를 줄였습니다.
버그 수정 사항¶
other
매개 변수가 명명되지 않은Series
일 때Series.where
의 버그를 수정했습니다.
버전 1.32.0(2025-05-15)¶
개선 사항¶
Snowflake 시스템 프로시저를 호출해도 프로시저의 반환 유형을 확인하기 위한
describe procedure
호출이 추가로 호출되지 않습니다.스테이지 URL 및
FILE
데이터 타입으로Session.create_dataframe()
지원이 추가되었습니다.session.read.option('mode', <mode>), option('rowTag', <tag_name>).xml(<stage_file_path>)
를 사용하여 XML 파일을 읽을 때 손상된 XML 레코드를 처리하기 위한 다양한 모드 지원이 추가되었습니다. 현재는PERMISSIVE
및FAILFAST
가 지원됩니다.파일에서 지정된
ROWTAG
를 찾을 수 없을 때 XML 리더의 오류 메시지가 표시되는 문제를 개선했습니다.Dataframe.drop
에서 삭제된 열을 제외하기 위해SELECT * EXCLUDE ()
를 사용하도록 쿼리 생성을 개선했습니다. 이 기능을 활성화하려면session.conf.set("use_simplified_query_generation", True)
를 설정합니다.VariantType
에 대한 지원을StructType.from_json
에 추가했습니다.
버그 수정 사항¶
DataFrameWriter.dbapi
(비공개 미리 보기)에서 외부 데이터베이스의 Unicode 또는 큰따옴표로 묶인 열 이름이 올바르게 인용되지 않아 오류가 발생하는 버그가 수정되었습니다.중첩된
OBJECT
데이터의 명명된 필드에 공백이 포함될 때 오류가 발생할 수 있는 버그가 수정되었습니다.
Snowpark 로컬 테스트 업데이트¶
버그 수정 사항¶
snowflake.snowpark.functions.rank
가 정렬 방향을 따르지 않는 버그를 수정했습니다.필터링된 데이터에서 잘못된 결과를 초래하는
snowflake.snowpark.functions.to_timestamp_*
버그를 수정했습니다.
Snowpark pandas API 업데이트¶
새로운 기능¶
Series.str.get
,Series.str.slice
,Series.str.__getitem__
(` Series.str[…] `)의 딕셔너리 값에 대한 지원이 추가되었습니다.DataFrame.to_html
를 지원하는 기능이 추가되었습니다.DataFrame.to_string
및Series.to_string
에 대한 지원이 추가되었습니다.pd.read_csv
를 사용하여 S3 버킷에서 파일 읽기 지원이 추가되었습니다.
개선 사항¶
iceberg_config
를DataFrame.to_iceberg
및Series.to_iceberg
의 필수 매개 변수로 설정합니다.
버전 1.31.0 (2025-04-24)¶
새로운 기능¶
StoredProcedure.register():code:
에서execute_as
인자의restricted caller
권한에 대한 지원을 추가했습니다.DataFrame.to_pandas()
에서 비선택 문에 대한 지원이 추가되었습니다.Session.add_packages
,Session.add_requirements
,Session.get_packages
,Session.remove_package
,Session.clear_packages
에artifact_repository
매개 변수에 대한 지원이 추가되었습니다.session.read.option('rowTag', <tag_name>).xml(<stage_file_path>)
(실험적) 를 사용하여 XML 파일의 행 태그를 읽는 기능이 추가되었습니다.각 XML 레코드는 별도의 행으로 추출됩니다.
해당 레코드 내의 각 필드는
VARIANT
유형의 별도 열이 되며,col(a.b.c)
와 같은 점 표기법을 사용하여 추가로 쿼리할 수 있습니다.
DataFrameReader.dbapi
(PrPr)에 업데이트가 추가되었습니다.여러 개의 가져온 데이터를 1개의 Parquet 파일로 병합하여 성능을 최적화하는
fetch_merge_count
매개 변수를 추가했습니다.Databricks에 대한 지원이 추가되었습니다.
Snowflake UDTF 를 통한 수집 지원을 추가했습니다.
functions.py
(비공개 미리 보기)에서 다음 AI 기반 함수에 대한 지원이 추가되었습니다.prompt
ai_filter
(prompt()
함수 및 이미지 파일 지원 추가, 두 번째 인자 이름을expr
에서file
로 변경했습니다.)ai_classify
개선 사항¶
DataFrame.to_snowpark_pandas
에 대해relaxed_ordering
매개 변수의 이름을enforce_ordering
으로 변경했습니다. 또한 새로운 기본값은enforce_ordering=False
로 이전 기본값인relaxed_ordering=False
와 반대 효과를 갖습니다.기본
fetch_size
매개 변수 값을 1000으로 설정하여DataFrameReader.dbapi
(PrPr) 읽기 성능을 개선했습니다.잠재적으로 일치할 수 있는 식별자를 제안하여 잘못된 식별자 SQL 오류에 대한 오류 메시지를 개선합니다.
session.table
을 사용하여 Snowflake 테이블에서 DataFrame 을 생성할 때 발행되는 설명 쿼리 수를 줄였습니다.DataFrameAnalyticsFunctions.time_series_agg()
의 성능 및 정확도가 개선되었습니다.
버그 수정 사항¶
피벗 열과 집계 열이 동일한 경우
DataFrame.group_by().pivot().agg
의 버그를 수정했습니다.DataFrameReader.dbapi
(PrPr)에서create_connection
이 지원되지 않는 드라이버 유형의 연결 오브젝트를 반환할 때TypeError
가 발생하던 버그를 수정했습니다.df.limit(0)
호출이 올바르게 적용되지 않는 버그를 수정했습니다.추가 모드를 사용할 때 예약된 이름이 오류를 throw하는 버그가
DataFrameWriter.save_as_table
에서 수정되었습니다.
사용 중단¶
Python3.8에 대한 지원이 중단되었습니다.
DataFrameAnalyticsFunctions.time_series_agg()
에서sliding_interval
인자가 더 이상 사용되지 않습니다.
Snowpark 로컬 테스트 업데이트¶
새로운 기능¶
Window.range_between
에 간격 식에 대한 지원이 추가되었습니다.array_construct
함수에 대한 지원이 추가되었습니다.
버그 수정 사항¶
가져오기를 통해 저장 프로시저를 실행하는 동안 일시적인
__pycache__
디렉터리가 실수로 복사되는 로컬 테스트의 버그가 수정되었습니다.Column.like
호출에 대해 잘못된 결과를 생성하는 로컬 테스트의 버그를 수정했습니다.로컬 테스트에서
Column.getItem
및snowpark.snowflake.functions.get
이null
을 반환하지 않고IndexError
를 발생시키는 버그를 수정했습니다.로컬 테스트에서
df.limit(0)
호출이 올바르게 적용되지 않는 버그가 수정되었습니다.로컬 테스트에서 빈 테이블에
Table.merge
를 입력하면 예외가 발생하던 버그가 수정되었습니다.
Snowpark pandas API 업데이트¶
종속성 업데이트¶
modin
을 0.30.1에서 0.32.0으로 업데이트했습니다.numpy
2.0 이상에 대한 지원이 추가되었습니다.
새로운 기능¶
DataFrame.create_or_replace_view
및Series.create_or_replace_view
에 대한 지원이 추가되었습니다.DataFrame.create_or_replace_dynamic_table
및Series.create_or_replace_dynamic_table
에 대한 지원이 추가되었습니다.DataFrame.to_view
및Series.to_view
에 대한 지원이 추가되었습니다.DataFrame.to_dynamic_table
및Series.to_dynamic_table
에 대한 지원이 추가되었습니다.max
,mean
,median
,min
,sum
에 대한DataFrame.groupby.resample
지원이 추가되었습니다.다음을 사용하여 스테이징된 파일 읽기 지원이 추가되었습니다.
pd.read_excel
pd.read_html
pd.read_pickle
pd.read_sas
pd.read_xml
DataFrame.to_iceberg
및Series.to_iceberg
에 대한 지원이 추가되었습니다.Series.str.len
에서 딕셔너리 값에 대한 지원이 추가되었습니다.
개선 사항¶
비용이 많이 드는 피벗 단계를 피하여
DataFrame.groupby.apply
및Series.groupby.apply
의 성능을 개선합니다.더 나은 엔진 변환을 위해 행 수 상한에 대한 추정치를
OrderedDataFrame
에 추가했습니다. 이로 인해 잠재적으로 쿼리 수가 증가할 수 있습니다.enforce_ordering
에서relaxed_ordering
매개 변수의 이름을pd.read_snowflake
로 변경했습니다. 또한 새로운 기본값은enforce_ordering=False
로, 이전 기본값인relaxed_ordering=False
와 반대 효과를 갖습니다.
버그 수정 사항¶
Iceberg 테이블 및
pd.read_snowflake
를 읽을 때enforce_ordering=True
의 버그를 수정했습니다.
버전 1.30.0(2025-03-27)¶
새로운 기능¶
relaxed_ordering
매개 변수를 도입하여Dataframe.to_snowpark_pandas
에서 완화된 일관성 및 주문 보증을 지원합니다.DataFrameReader.dbapi
(미리 보기)는 이제session_init_statement
매개 변수에 대한 문자열 목록을 허용하여 세션 초기화 중에 여러 개의 SQL 문을 실행할 수 있습니다.
개선 사항¶
Dataframe.stat.sample_by
가fractions
에서 각 키에 대해 UNION ALL 하위 쿼리를 생성하는 기존 방식에 비해 대규모fractions
사전과 잘 어울리는 단일 플랫 쿼리를 생성하도록 쿼리 생성을 개선했습니다. 이 기능을 활성화하려면session.conf.set("use_simplified_query_generation", True)
를 설정합니다.Parquet 파일을 테이블에 복사본으로 복사할 때 벡터화 옵션을 활성화하여
DataFrameReader.dbapi
의 성능을 개선했습니다.DataFrame.random_split
에 대한 쿼리 생성이 다음과 같은 방식으로 개선되었습니다.session.conf.set("use_simplified_query_generation", True)
를 설정하여 활성화할 수 있습니다.입력 데이터프레임의 내부 구현에서
cache_result
를 제거하여 순수한 지연 데이터프레임 작업을 수행할 필요가 없어졌습니다.이제
seed
인자는 여러 호출과 세션에서 반복 가능한 결과를 제공하는 예상대로 작동합니다.
DataFrame.fillna
및DataFrame.replace
는 이제include_decimal
이True
로 설정된 경우int
및float
를Decimal
열에 맞추는 기능을 지원합니다.다음 UDF 및
files.py
의 저장 프로시저 함수에 대한 설명서를 일반 공급에 따라 추가했습니다.SnowflakeFile.write
SnowflakeFile.writelines
SnowflakeFile.writeable
SnowflakeFile
및SnowflakeFile.open()
에 대한 설명서가 일부 변경되었습니다.
버그 수정 사항¶
오류를 발생시키는 다음 함수의 버그를 수정했습니다.
.cast()
가 출력에 적용됩니다.from_json
size
Snowpark 로컬 테스트 업데이트¶
버그 수정 사항¶
집계에서 빈 그룹이 여전히 행을 생성하는 버그를 수정했습니다.
Dataframe.except_
에서 행이 잘못 삭제되는 버그를 수정했습니다.필터링된 열을 형 변환할 때
to_timestamp
가 실패하는 버그를 수정했습니다.
Snowpark pandas API 업데이트¶
새로운 기능¶
Series.str.__getitem__
(Series.str[...]
) 에서 목록 값에 대한 지원을 추가했습니다.GROUP BY 작업에서
pd.Grouper
오브젝트에 대한 지원이 추가되었습니다.freq
가 지정되면sort
,closed
,label
,convention
인자의 기본값이 지원되며,origin
이 지정되면start
또는start_day
가 지원됩니다.새로운 매개 변수
relaxed_ordering
을 도입하여 명명된 데이터 원본(예: 테이블 및 뷰)과 쿼리 데이터 원본 모두에 대해pd.read_snowflake
에서 완화된 일관성 및 순서 보장에 대한 지원이 추가되었습니다.
개선 사항¶
QUOTED_IDENTIFIERS_IGNORE_CASE
가 설정된 것으로 확인될 때마다 경고를 표시하고 사용자에게 설정을 해제하도록 요청합니다.DataFrame.to_snowflake
및Series.to_snowflake
에서 누락된index_label
이index=True
에서 처리되는 방식을 개선했습니다. 대ValueError
가 발생하는 대신, 시스템 정의 레이블이 인덱스 열에 사용됩니다.함수 이름이 지원되지 않는 경우
groupby
,DataFrame
,Series.agg
에 대한 오류 메시지가 개선되었습니다.
Snowpark 로컬 테스트 업데이트¶
개선 사항¶
QUOTED_IDENTIFIERS_IGNORE_CASE
가 설정된 것으로 확인될 때마다 경고를 표시하고 사용자에게 설정을 해제하도록 요청합니다.DataFrame.to_snowflake
및Series.to_snowflake
에서 누락된index_label
이index=True
에서 처리되는 방식을 개선했습니다. 대ValueError
가 발생하는 대신, 시스템 정의 레이블이 인덱스 열에 사용됩니다.함수 이름이 지원되지 않는 경우
groupby or DataFrame or Series.agg
에 대한 오류 메시지가 개선되었습니다.
버전 1.29.1(2025-03-12)¶
버그 수정 사항¶
저장 프로시저 및 Snowbooks에서 사용할 수 없는
DataFrameReader.dbapi
(비공개 미리 보기)의 버그가 수정되었습니다.
버전 1.29.0(2025-03-05)¶
새로운 기능¶
functions.py
(비공개 미리 보기)에서 다음 AI 기반 함수에 대한 지원이 추가되었습니다.ai_filter
ai_agg
summarize_agg
새로운 FILE SQL 유형에 대한 지원이 추가되었으며
functions.py
(비공개 미리 보기)에 다음과 같은 관련 함수가 추가되었습니다.
fl_get_content_type
fl_get_etag
fl_get_file_type
fl_get_last_modified
fl_get_relative_path
fl_get_scoped_file_url
fl_get_size
fl_get_stage
fl_get_stage_file_url
fl_is_audio
fl_is_compressed
fl_is_document
fl_is_image
fl_is_video
아티팩트 저장소(비공개 미리 보기)를 사용하여 PyPi 에서 서드 파티 패키지를 가져오는 기능이 추가되었습니다.
저장 프로시저 또는 사용자 정의 함수를 등록할 때 키워드 인자
artifact_repository
및packages
를 사용하여 아티팩트 리포지토리와 패키지를 각각 지정합니다.지원되는 APIs 는 다음과 같습니다.
Session.sproc.register
Session.udf.register
Session.udaf.register
Session.udtf.register
functions.sproc
functions.udf
functions.udaf
functions.udtf
functions.pandas_udf
functions.pandas_udtf
개선 사항¶
저장 프로시저 등록 시
snowflake-snowpark-python
패키지 호환성에 대한 버전 유효성 검사 경고가 개선되었습니다. 이제 메이저 또는 마이너 버전이 일치하지 않는 경우에만 경고가 트리거되며, 버그 수정 버전 차이로 인해 더 이상 경고가 생성되지 않습니다.이전 버전 외에
cloudpickle==3.0.0
도 지원하도록 클라우드피클 종속성을 변경했습니다.
버그 수정 사항¶
스레드 안전 세션이 비활성화된 경우 많은 수의 값이 있는 데이터프레임을 생성하면
Unsupported feature 'SCOPED_TEMPORARY'.
오류가 발생하는 버그를 수정했습니다.스테이지 파일을 읽어 DataFrame 을 생성하고 CTE 최적화가 활성화된 경우
df.describe
가 내부 SQL 실행 오류를 발생시키는 버그를 수정했습니다.
session.conf.set("use_simplified_query_generation", True)
를 사용하여 간소화된 쿼리 생성이 활성화된 경우df.order_by(A).select(B).distinct()
가 잘못된 SQL 을 생성하는 버그를 수정했습니다.
기본적으로 단순화된 쿼리 생성을 비활성화합니다.
Snowpark pandas API 업데이트¶
개선 사항¶
테이블이 존재하지 않을 때
pd.to_snowflake
,DataFrame.to_snowflake
,Series.to_snowflake
에 대한 오류 메시지를 개선했습니다.
pd.to_snowflake
,DataFrame.to_snowflake
,Series.to_snowflake
에서if_exists
매개 변수에 대한 문서 문자열의 가독성을 개선했습니다.UDFs 를 사용하는 모든 Pandas 함수에 대한 오류 메시지와 Snowpark 오브젝트를 개선했습니다.
버그 수정 사항¶
Series.rename_axis
에서AttributeError
가 발생하던 버그를 수정했습니다.
pd.get_dummies
가 기본적으로 NULL/NaN 값을 무시하지 않던 버그를 수정했습니다.
pd.get_dummies
를 반복적으로 호출하면 ‘중복된 열 이름 오류’가 발생하는 버그가 수정되었습니다.
pd.get_dummies
에서 열 목록을 전달하면 출력 DataFrame 에서 잘못된 열 레이블이 생성되던 버그를 수정했습니다.
pd.get_dummies
를 업데이트하여 int 대신 부울 값을 반환합니다.
Snowpark 로컬 테스트 업데이트¶
새로운 기능¶
range_between
윈도우 함수에 리터럴 값에 대한 지원이 추가되었습니다.
버전 1.28.0(2025-02-20)¶
새로운 기능¶
functions.py
에서 다음 함수에 대한 지원을 추가했습니다.normal
randn
Dataframe.union_by_name
및Dataframe.union_all_by_name
에allow_missing_columns
매개 변수에 대한 지원을 추가했습니다.
개선 사항¶
충돌을 방지하기 위해 무작위 오브젝트 이름 생성을 개선했습니다.
Dataframe.distinct
쿼리 생성이 GROUP BY all columns 을 사용하여 SELECT 대신 SELECT DISTINCT 를 생성하도록 개선되었습니다. 이 기능을 비활성화하려면session.conf.set("use_simplified_query_generation", False)
로 설정하십시오.
사용 중단¶
사용되지 않는 Snowpark Python 함수
snowflake_cortex_summarize
. 사용자는snowflake-ml-python
을 설치하고 대신snowflake.cortex.summarize
함수를 사용할 수 있습니다.사용되지 않는 Snowpark Python 함수
snowflake_cortex_sentiment
. 사용자는snowflake-ml-python
을 설치하고 대신snowflake.cortex.sentiment
함수를 사용할 수 있습니다.
버그 수정 사항¶
여러 쿼리를 생성하는 DataFrames 에 대한 스택 추적에 의해 세션 수준 쿼리 태그를 덮어쓰는 버그를 수정했습니다. 이제 쿼리 태그는
session.conf.set("collect_stacktrace_in_query_tag", True)
경우에만 스택트레이스로 설정됩니다.Session._write_pandas
에서 Snowpark Pandas 오브젝트를 작성할 때use_logical_type
매개 변수를Session._write_modin_pandas_helper
로 잘못 전달하던 버그를 수정했습니다.여러 값의 형식이 잘못 지정될 수 있는 SQL 생성 옵션의 버그를 수정했습니다.
데이터베이스 또는 스키마의 빈 문자열이 올바르게 처리되지 않고 잘못된 SQL 문을 생성하는 버그가
Session.catalog
에서 수정되었습니다.
실험적 기능¶
Snowflake 테이블에 파이로우 테이블 쓰기 지원이 추가되었습니다.
Snowpark pandas API 업데이트¶
새로운 기능¶
Snowflake Cortex 함수
Summarize
및Sentiment
적용 지원 추가.Series.str.get
에서 목록 값에 대한 지원을 추가했습니다.
버그 수정 사항¶
apply
에서 kwargs가 적용된 함수에 올바르게 전달되지 않던 버그를 수정했습니다.
Snowpark 로컬 테스트 업데이트¶
새로운 기능¶
- 다음 함수에 대한 지원이 추가되었습니다
hour
minute
CSV 리더에 NULL_IF 매개 변수에 대한 지원이 추가되었습니다.
CSVs 로딩 시
date_format
,datetime_format
,timestamp_format
옵션에 대한 지원이 추가되었습니다.
버그 수정 사항¶
DataFrame.join
에서 열에 잘못된 입력이 발생하는 버그가 수정되었습니다.otherwise
절에서 잘못된 결과를 유발하는when
문의 버그를 수정했습니다.
버전 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
열의 필드 이름을 바꾸거나 필드를 추가할 수 있는 열 캐스트에 옵션을 추가했습니다.contains_null parameter
에 대한 지원을ArrayType
에 추가했습니다.스테이지에서 파일을 읽어 만든 DataFrame 에서
DataFrame.create_or_replace_temp_view
를 통해 임시 뷰를 생성하는 기능을 추가했습니다.MapType
에value_contains_null
매개 변수에 대한 지원을 추가했습니다.현재 환경이 대화형 환경인지 여부를 나타내는 원격 분석에 대화형 기능을 추가했습니다.
Native App에서
session.file.get
이 현재 버전에서 /로 시작하는 파일 경로를 읽을 수 있도록 허용합니다.DataFrame.pivot
이후 여러 집계 함수에 대한 지원을 추가했습니다.
실험적 기능¶
Snowflake 오브젝트를 관리하는
Session.catalog
클래스를 추가했습니다.Session.catalog
를 통해 액세스할 수 있습니다.snowflake.core
는 이 기능에 필요한 종속성입니다.
스테이지에서 JSON 파일을 읽을 때 사용자 입력 스키마 또는 사용자 입력 스키마를 허용합니다.
DataFrame.create_dataframe
을 호출할 때 스키마 문자열(암시적 구조체 구문 포함) 지정에 대한 지원을 추가했습니다.
개선 사항¶
cosign
을 사용하여 패키지 서명을 확인하는 방법에 대한 지침을 포함하도록README.md
를 업데이트했습니다.
버그 수정 사항¶
로컬 테스트 모드에서 열에 0이 포함되어야 하는데 None이 포함되는 버그를 수정했습니다.
StructField.from_json
에서tzinfo
를 포함한TimestampTypes
가 올바르게 구문 분석되지 않는 버그를 수정했습니다.입력 열이 날짜 유형 또는 타임스탬프 유형일 때 오류를 발생시키는
function date_format
버그를 수정했습니다.Null이 아닌 열에 null 값을 삽입할 수 있는 DataFrame 버그를 수정했습니다.
열 식 오브젝트를 전달할 때 유형 힌트 어설션 오류가 발생하던
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: 앞에 0을 붙인 10진수 숫자로 표시되는 월의 날짜입니다.
%m: 앞에 0을 붙인 10진수 숫자로 표시되는 월입니다.
%Y: 세기가 10진수 숫자로 표시되는 연도입니다.
%H: 앞에 0을 붙인 10진수 숫자로 표시되는 시간(24시간 시계)입니다.
%M: 앞에 0을 붙인 10진수 숫자로 표시되는 분입니다.
%S: 앞에 0을 붙인 10진수 숫자로 표시되는 초입니다.
%f: 6자리까지 앞에 0을 붙인 10진수 숫자로 표시되는 마이크로초입니다.
%j: 앞에 0을 붙인 10진수 숫자로 연중 며칠째인지 표시되는 날입니다.
%X: 로캘의 적절한 시간 표현입니다.
%%: 리터럴 ‘%’ 문자입니다.
Series.between
를 지원하는 기능이 추가되었습니다.DataFrameGroupBy.apply
에서include_groups=False
에 대한 지원을 추가했습니다.Series.str.split
에서expand=True
에 대한 지원을 추가했습니다.DataFrame.pop
및Series.pop
에 대한 지원이 추가되었습니다.DataFrameGroupBy.agg
및SeriesGroupBy.agg
에서first
및last
을 위한 지원을 추가했습니다.Index.drop_duplicates
를 지원하는 기능이 추가되었습니다.pd.pivot_table()
,DataFrame.pivot_table()
,pd.crosstab()
에서"count"
,"median"
,np.median
,"skew"
,"std"
,np.std
"var"
,np.var
에 대한 집계 지원을 추가했습니다.
개선 사항¶
DataFrame.map
및Series.map
메서드의 성능을 개선하여 가능한 경우 numpy 함수를 Snowpark 함수에 매핑합니다.DataFrame.map
에 대한 설명서를 추가했습니다.가능한 경우 numpy 함수를 Snowpark 함수에 매핑하여
DataFrame.apply
의 성능을 개선했습니다.Snowpark pandas와 scikit-learn의 상호 운용성 범위에 대한 설명서를 추가했습니다.
유형 힌트가 제공되지 않은 경우
Series.map
,Series.apply
및DataFrame.map
에서 함수의 반환 유형을 유추합니다.교환 프로토콜 호출을 포함한 메서드 호출을 계산하는 원격 분석에
call_count
를 추가했습니다.