2024년 Python용 Snowpark 라이브러리 릴리스 정보¶
이 문서에는 Snowpark Library for Python 에 대한 릴리스 정보가 있는데, 해당되는 경우 다음을 포함합니다.
동작 변경 사항
새로운 기능
고객이 직면한 버그 수정
Snowflake는 Snowpark Library for Python 업데이트에 의미 체계 버전 관리를 사용합니다.
설명서는 Python용 Snowpark 개발자 가이드 섹션을 참조하십시오.
버전 1.23.0(2024-10-09)¶
새로운 기능¶
snowflake.snowpark.functions
에 다음과 같은 새로운 함수를 추가했습니다.make_interval
열별 정렬이 TIMESTAMP 또는 DATE 유형인 경우 Snowflake Interval 상수를
Window.range_between()
과 함께 사용하기 위한 지원을 추가했습니다.파일 쓰기에 대한 지원을 추가했습니다. 이 기능은 현재 비공개 미리 보기로 제공됩니다.
쿼리 기록을 제출하는 스레드 ID를 추적하기 위해
QueryRecord
에thread_id
를 추가했습니다.Session.stored_procedure_profiler
를 지원하는 기능이 추가되었습니다.
버그 수정 사항¶
저장 프로시저나 UDxF를 타입 힌트와 함께 등록하면 함수에서 기본값을 읽으려고 할 때
NoneType
에len()
이 없다는 경고가 발생하는 버그를 수정했습니다.
Snowpark pandas API 업데이트¶
새로운 기능¶
TimedeltaIndex.mean
메서드에 대한 지원을 추가했습니다.axis=0
의Timedelta
열을agg
또는aggregate
로 집계하는 일부 사례에 대한 지원을 추가했습니다.pd.merge_asof
를 위해by
,left_by
,right_by
,left_index
,right_index
에 대한 지원을 추가했습니다.매개 변수
include_describe
를Session.query_history
로 전달하기 위한 지원을 추가했습니다.DatetimeIndex.mean
및DatetimeIndex.std
메서드에 대한 지원을 추가했습니다.Resampler.asfreq
,Resampler.indices
,Resampler.nunique
,Resampler.quantile
에 대한 지원을 추가했습니다.closed = "left"
인resample
빈도W
,ME
,YE
에 대한 지원을 추가했습니다.pairwise = False
및 intwindow
의DataFrame.rolling.corr
및Series.rolling.corr
에 대한 지원을 추가했습니다.Rolling
에 대해 문자열 시간 기반window
및min_periods = None
에 대한 지원을 추가했습니다.DataFrameGroupBy.fillna
및SeriesGroupBy.fillna
에 대한 지원이 추가되었습니다.data
,index
,columns
인자로 지연Index
오브젝트를 사용하여Series
및DataFrame
오브젝트를 생성하기 위한 지원을 추가했습니다.DataFrame
/Series
data
에 없는index
및column
값으로Series
및DataFrame
오브젝트를 생성하기 위한 지원을 추가했습니다.pd.read_sas
에 대한 지원을 추가했습니다(처리를 위해 네이티브 pandas 사용).Timedelta
시리즈와 열에rolling().count()
및expanding().count()
를 적용하기 위한 지원을 추가했습니다.pd.date_range
와pd.bdate_range
에서 모두tz
에 대한 지원을 추가했습니다.Series.items
를 지원하는 기능이 추가되었습니다.pd.to_datetime
에서errors="ignore"
에 대한 지원을 추가했습니다.DataFrame.tz_localize
및Series.tz_localize
에 대한 지원이 추가되었습니다.DataFrame.tz_convert
및Series.tz_convert
에 대한 지원이 추가되었습니다.Series.map
,Series.apply
,DataFrame.apply
,DataFrame.applymap
에서 Snowpark Python 함수(예:sin
)를 적용하기 위한 지원을 추가했습니다.
개선 사항¶
TIMESTAMP_TZ 타입에 대한 원래 타임존 오프셋을 유지하기 위해
to_pandas
를 개선했습니다.올바른 타임존 오프셋을 표시하도록 TIMESTAMP_TZ 타입에 대한
dtype
결과를 개선했습니다.올바른 타임존을 표시하도록 TIMESTAMP_LTZ 타입에 대한
dtype
결과를 개선했습니다.그룹별 집계의 경우
numeric_only
에 부울이 아닌 값을 전달할 때 발생하는 오류 메시지를 개선했습니다.sort_values
의 정렬 알고리즘에 대한 불필요한 경고를 제거했습니다.내부적으로 임시 테이블을 생성하려면 SCOPED 오브젝트를 사용합니다. SCOPED 오브젝트는 sproc 내에 생성된 경우 sproc 범위로 지정되고, 그렇지 않은 경우 세션 범위로 저장되며, 오브젝트는 범위가 끝날 때 자동으로 정리됩니다.
의도치 않은 속도 저하로 인해 구체화되는 작업에 대한 경고 메시지를 개선했습니다.
Series.apply
의convert_dtype
에 대한 불필요한 경고 메시지를 제거했습니다.
버그 수정 사항¶
원래
Series
/DataFrame
에 준비된 업데이트가 적용된 후Series
/DataFrame
에서 생성된Index
오브젝트가Series
/DataFrame
의 인덱스 이름을 잘못 업데이트하는 버그를 수정했습니다.Timedelta
열을 인쇄할 때 가끔 나타나는 무익한SettingWithCopyWarning
을 억제했습니다.다른
Series
오브젝트에서 파생된Series
오브젝트의inplace
인자를 수정했습니다.시리즈 이름이 인덱스 열 이름과 겹치는 경우
Series.sort_values
가 실패하는 버그를 수정했습니다.데이터프레임을 바꾸면
Timedelta
인덱스 수준이 정수 열 수준에 매핑되는 버그를 수정했습니다.timedelta 열의
Resampler
메서드가 정수 결과를 생성하는 버그를 수정했습니다.pd.to_numeric()
이Timedelta
입력값을 정수로 변환하지 않고Timedelta
로 그대로 두는 버그를 수정했습니다.Series 값으로 DataFrame의 단일 행 또는 다중 행을 설정할 때 설정된
loc
를 수정했습니다.
버전 1.22.1(2024-09-11)¶
이는 1.22.0의 재출시 버전입니다. 자세한 릴리스 내용은 1.22.0 릴리스 정보를 참조하십시오.
버전 1.22.0(2024-09-10)¶
새로운 기능¶
snowflake.snowpark.functions
에 다음과 같은 새로운 함수를 추가했습니다.array_remove
ln
개선 사항¶
use_logical_type
옵션을 더 명확하게 하여Session.write_pandas
에 대한 설명서를 개선했습니다.DataFrameWriter.save_as_table
에 다음을 지정하기 위한 지원을 추가했습니다.enable_schema_evolution
data_retention_time
max_data_extension_time
change_tracking
copy_grants
iceberg_config
- 다음의 Iceberg 구성 옵션을 포함할 수 있는 사전:external_volume
catalog
base_location
catalog_sync
storage_serialization_policy
DataFrameWriter.copy_into_table
에 다음을 지정하기 위한 지원을 추가했습니다.iceberg_config
- 다음의 Iceberg 구성 옵션을 포함할 수 있는 사전:external_volume
catalog
base_location
catalog_sync
storage_serialization_policy
DataFrame.create_or_replace_dynamic_table
에 다음 매개 변수를 지정하기 위한 지원을 추가했습니다.mode
refresh_mode
initialize
clustering_keys
is_transient
data_retention_time
max_data_extension_time
버그 수정 사항¶
PARSE_HEADER = True
를 외부에서 정의된 파일 형식으로 설정할 때session.read.csv
에서 오류가 발생하는 버그를 수정했습니다.하위 항목에 공통된 하위 쿼리가 있는 경우 중복된 쿼리를 생성할 수 있는 세트 연산에서 쿼리 생성의 버그를 수정했습니다.
데이터베이스나 스키마를 전환한 후 존재하지 않는 스테이지를 참조하는
session.get_session_stage
의 버그를 수정했습니다.Snowpark pandas 플러그인을 명시적으로 초기화하지 않고
DataFrame.to_snowpark_pandas
를 호출하면 오류가 발생하는 버그를 수정했습니다.동적 테이블 생성에서
explode
함수를 사용하면outer
매개 변수에 대한 부울 타입 캐스팅이 부적절하여 SQL 컴파일 오류가 발생하는 버그를 수정했습니다.
Snowpark 로컬 테스트 업데이트¶
새로운 기능¶
UDF 호출에 열을 입력 데이터로 전달할 때 타입 강제 변환에 대한 지원을 추가했습니다.
Index.identical
를 지원하는 기능이 추가되었습니다.
버그 수정 사항¶
DataFrameWriter.save_as_table
의 잘라내기 모드에서 기존 테이블의 열 중 일부만 포함하는 DataFrames 를 잘못 처리하는 버그를 수정했습니다.함수
to_timestamp
가 열 데이터 타입의 기본 타임존을 설정하지 않는 버그를 수정했습니다.
Snowpark pandas API 업데이트¶
새로운 기능¶
다음 기능을 포함하여
Timedelta
타입에 대한 제한적인 지원을 추가했습니다. Snowpark pandas는 지원되지 않는Timedelta
사용 사례에 대해NotImplementedError
를 발생시킵니다.copy
,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
를 통한Timedelta
타입 추적 지원.astype
을 통해 timedelta가 아닌 타입을 timedelta 타입으로 변환하기 위한 지원.Timedelta
를 지원하지 않는 나머지 메서드에 대해서는NotImplementedError
가 발생합니다.2개의 타임스탬프를 빼서
Timedelta
를 구하는 기능 지원.Timedelta
데이터 열을 사용한 인덱싱 지원.타임스탬프와
Timedelta
를 더하거나 빼는 기능 지원.두
Timedelta
값 사이의 이진 산술 지원.이진 산술 및
Timedelta
값과 숫자 값 사이의 비교 지원.지연
TimedeltaIndex
지원.pd.to_timedelta
지원.GroupBy
집계min
,max
,mean
,idxmax
,idxmin
,std
,sum
,median
,count
,any
,all
,size
,nunique
,head
,tail
,aggregate
지원.GroupBy
필터링first
및last
지원.TimedeltaIndex
특성days
,seconds
,microseconds
,nanoseconds
지원.axis=0
및axis=1
에 대한 타임스탬프 열이 있는diff
지원.TimedeltaIndex
메서드ceil
,floor
,round
지원.TimedeltaIndex.total_seconds
메서드 지원.
인덱스의 산술 및 비교 연산자에 대한 지원을 추가했습니다.
Series.dt.round
를 지원하는 기능이 추가되었습니다.DatetimeIndex
에 대한 설명서 페이지를 추가했습니다.Index.name
,Index.names
,Index.rename
,Index.set_names
에 대한 지원을 추가했습니다.Index.__repr__
를 지원하는 기능이 추가되었습니다.DatetimeIndex.month_name
및DatetimeIndex.day_name
에 대한 지원이 추가되었습니다.Series.dt.weekday
,Series.dt.time
,DatetimeIndex.time
에 대한 지원을 추가했습니다.Index.min
및Index.max
에 대한 지원이 추가되었습니다.pd.merge_asof
를 지원하는 기능이 추가되었습니다.Series.dt.normalize
및DatetimeIndex.normalize
에 대한 지원이 추가되었습니다.Index.is_boolean
,Index.is_integer
,Index.is_floating
,Index.is_numeric
,Index.is_object
에 대한 지원을 추가했습니다.DatetimeIndex.round
,DatetimeIndex.floor
,DatetimeIndex.ceil
에 대한 지원을 추가했습니다.Series.dt.days_in_month
및Series.dt.daysinmonth
에 대한 지원이 추가되었습니다.DataFrameGroupBy.value_counts
및SeriesGroupBy.value_counts
에 대한 지원이 추가되었습니다.Series.is_monotonic_increasing
및Series.is_monotonic_decreasing
에 대한 지원이 추가되었습니다.Index.is_monotonic_increasing
및Index.is_monotonic_decreasing
에 대한 지원이 추가되었습니다.pd.crosstab
를 지원하는 기능이 추가되었습니다.pd.bdate_range
에 대한 지원을 추가했고pd.date_range
와pd.bdate_range
모두에 대해 비즈니스 빈도 지원(B, BME, BMS, BQE, BQS, BYE, BYS)을 포함했습니다.DataFrame.reindex
및Series.reindex
에서labels
로 지연Index
오브젝트에 대한 지원을 추가했습니다.Series.dt.days
,Series.dt.seconds
,Series.dt.microseconds
,Series.dt.nanoseconds
에 대한 지원을 추가했습니다.숫자형 또는 문자열 타입의
Index
에서DatetimeIndex
를 생성하기 위한 지원을 추가했습니다.Timedelta
오브젝트를 사용한 문자열 인덱싱 지원을 추가했습니다.Series.dt.total_seconds
메서드에 대한 지원을 추가했습니다.
개선 사항¶
동일한 DataFrame에서 오는 시리즈에 대해 작업을 수행할 때 불필요한 조인을 방지하여 연결 및 조인 성능을 개선했습니다.
타입이 로컬에서 캐시된 경우 메타데이터 쿼리 수행을 방지하기 위해
quoted_identifier_to_snowflake_type
을 리팩터링했습니다.모든 로컬 입력 사례를 처리하도록
pd.to_datetime
을 개선했습니다.클라이언트에 데이터를 끌어오지 않고 다른 지연 인덱스에서 지연 인덱스를 만듭니다.
인덱스 비트 연산자에 대해
NotImplementedError
를 발생시켰습니다.Index.names
가 목록과 같은 오브젝트가 아닌 오브젝트로 설정된 경우 더 명확한 오류 메시지를 표시합니다.MultiIndex
값을 로컬로 끌어올 때마다 경고를 발생시킵니다.임시 테이블 생성이 트리거될 때 생성 이유를 포함하도록
pd.read_snowflake
에 대한 경고 메시지를 개선했습니다.즉각적인 평가가 필요한 검사를 방지함으로써
DataFrame.set_index
를 위한 성능 또는DataFrame.index
또는Series.index
설정을 위한 성능을 개선했습니다. 결과적으로, 새 인덱스가 현재Series
또는DataFrame
오브젝트 길이와 일치하지 않으면ValueError
가 더 이상 발생하지 않습니다. 대신,Series
또는DataFrame
오브젝트가 제공된 인덱스보다 길면Series
또는DataFrame
의 새 인덱스가 “추가” 요소의NaN
값으로 채워집니다. 그렇지 않으면 제공된 인덱스의 추가 값이 무시됩니다.
버그 수정 사항¶
pd.Timedelta
스칼라에서 나노초를 무시하는 동작을 중지했습니다.이진 연산 트리에서
AssertionError
를 수정했습니다.명명된 Series를 사용하여
Series.dt.isocalendar
에서 버그를 수정했습니다.DataFrame 열에서 파생된 Series 오브젝트에 대한
inplace
인자를 수정했습니다.Series.reindex
와DataFrame.reindex
가 결과 인덱스 이름을 올바르게 업데이트하지 못하는 버그를 수정했습니다.axis=1
이 지정된 경우Series.take
에서 오류가 발생하지 않는 버그를 수정했습니다.
버전 1.21.1(2024-09-05)¶
버그 수정 사항¶
비동기 작업에서
to_pandas_batches
를 사용하면 비동기 쿼리 완료 대기가 부적절하게 처리되어 오류가 발생하는 버그를 수정했습니다.
버전 1.21.0(2024-08-19)¶
새로운 기능¶
두 Snowpark DataFrames의 동일성을 검사하는 유틸리티 함수인
snowflake.snowpark.testing.assert_dataframe_equal
에 대한 지원을 추가했습니다.
개선 사항¶
서버 측 문자열 크기 제한에 대한 지원을 추가했습니다.
선택적 인자와 함께 저장 프로시저 UDF와 UDTF를 생성하고 호출하기 위한 지원을 추가했습니다.
DataFrame.lineage.trace
API에서 열 계보에 대한 지원을 추가했습니다.INFER_SCHEMA_OPTIONS
를 통해DataFrameReader
에INFER_SCHEMA
옵션을 전달하기 위한 지원을 추가했습니다.parameters
매개 변수를Column.rlike
및Column.regexp
로 전달하기 위한 지원을 추가했습니다.DataFrame이 더 이상 참조되지 않을 때(즉, 가비지가 수집될 때) 현재 세션에서
df.cache_result()
에 의해 생성된 임시 테이블을 자동으로 정리하기 위한 지원을 추가했습니다. 이는 아직 실험적인 기능이며 기본적으로 활성화되어 있지 않습니다.session.auto_clean_up_temp_table_enabled
를True
로 설정하면 활성화할 수 있습니다.snowflake.snowpark.functions.to_date
의fmt
매개 변수에 문자열 리터럴에 대한 지원을 추가했습니다.
버그 수정 사항¶
*
열을 선택하기 위해 생성된 SQL에 잘못된 하위 쿼리가 있는 버그를 수정했습니다.잘못된 격리 수준으로 인해 pandas DataFrame에 특정 변환이 수행되는 경우
DataFrame.to_pandas_batches
에서 반복기가 오류를 발생시킬 수 있는 버그를 수정했습니다.따옴표로 묶인 특징 뷰의 이름과 버전을 올바르게 분할하도록
DataFrame.lineage.trace
의 버그를 수정했습니다.비어 있는 목록을 전달하면 유효하지 않은 SQL 생성을 유발하는
Column.isin
의 버그를 수정했습니다.목록과 같은 항목이 있는 셀을 설정하는 동안
NotImplementedError
를 발생시키지 못하는 버그를 수정했습니다.
Snowpark 로컬 테스트 업데이트¶
새로운 기능¶
다음 APIs에 대한 지원이 추가되었습니다.
snowflake.snowpark.functions
rank
dense_rank
percent_rank
cume_dist
ntile
datediff
array_agg
snowflake.snowpark.column.Column.within_group
모의 계획에 대한 정규식 문에서 플래그 구문 분석에 대한 지원을 추가했습니다. 이는 위의
rlike
및regexp
변경 사항과 동등성을 유지합니다.
버그 수정 사항¶
윈도우 함수
LEAD
와LAG
가 옵션ignore_nulls
를 올바로 처리하지 못하는 버그를 수정했습니다.테이블 병합 작업을 삽입하는 동안 결과 DataFrame에 값이 채워지지 않는 버그를 수정했습니다.
개선 사항¶
정수 인덱싱에 대한 pandas
FutureWarning
을 수정합니다.
Snowpark pandas API 업데이트¶
새로운 기능¶
DataFrame.backfill
,DataFrame.bfill
,Series.backfill
,Series.bfill
에 대한 지원을 추가했습니다.기본 매개 변수를 사용하여
DataFrame.compare
및Series.compare
에 대한 지원을 추가했습니다.Series.dt.microsecond
및Series.dt.nanosecond
에 대한 지원이 추가되었습니다.Index.is_unique
및Index.has_duplicates
에 대한 지원이 추가되었습니다.Index.equals
를 지원하는 기능이 추가되었습니다.Index.value_counts
를 지원하는 기능이 추가되었습니다.Series.dt.day_name
및Series.dt.month_name
에 대한 지원이 추가되었습니다.Index에 인덱싱 지원을 추가했습니다(예:
df.index[:10]
).DataFrame.unstack
및Series.unstack
에 대한 지원이 추가되었습니다.DataFrame.asfreq
및Series.asfreq
에 대한 지원이 추가되었습니다.Series.dt.is_month_start
및Series.dt.is_month_end
에 대한 지원이 추가되었습니다.Index.all
및Index.any
에 대한 지원이 추가되었습니다.Series.dt.is_year_start
및Series.dt.is_year_end
에 대한 지원이 추가되었습니다.Series.dt.is_quarter_start
및Series.dt.is_quarter_end
에 대한 지원이 추가되었습니다.지연
DatetimeIndex
에 대한 지원을 추가했습니다.Series.argmax
및Series.argmin
에 대한 지원이 추가되었습니다.Series.dt.is_leap_year
를 지원하는 기능이 추가되었습니다.DataFrame.items
를 지원하는 기능이 추가되었습니다.Series.dt.floor
및Series.dt.ceil
에 대한 지원이 추가되었습니다.Index.reindex
를 지원하는 기능이 추가되었습니다.DatetimeIndex
속성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
,is_leap_year
에 대한 지원을 추가했습니다.Resampler.fillna
및Resampler.bfill
에 대한 지원이 추가되었습니다.Timedelta
열과to_pandas
생성을 포함하여,Timedelta
타입에 대한 제한적인 지원을 추가했습니다.Index.argmax
및Index.argmin
에 대한 지원이 추가되었습니다.
개선 사항¶
Snowpark pandas를 가져올 때 표시되는 공개 미리 보기 경고 메시지를 제거했습니다.
SnowflakeQueryCompiler.is_series_like
메서드에서 불필요한 카운트 쿼리를 제거했습니다.Dataframe.columns
는 이제 Snowpark Index 오브젝트 대신 네이티브 pandas Index 오브젝트를 반환합니다.쿼리 컴파일러에서
Index
를 생성하기 위해Index
생성자에서query_compiler
인자를 리팩터링하고 도입했습니다.pd.to_datetime
은 이제Series
오브젝트 대신DatetimeIndex
오브젝트를 반환합니다.pd.date_range
는 이제Series
오브젝트 대신DatetimeIndex
오브젝트를 반환합니다.
버그 수정 사항¶
지원되지 않는 집계 함수를
pivot_table
에 전달하여KeyError
대신NotImplementedError
를 발생시키도록 했습니다.지원되지 않는 집계에 대한 오류 메시지와 원격 분석에서 축 레이블과 호출 가능한 이름을 제거했습니다.
sort_values
이후에Series.drop_duplicates
및DataFrame.drop_duplicates
호출 시 발생하는AssertionError
를 수정했습니다.Index.to_frame
에서 이름이 지정되지 않은 경우 결과 프레임의 열 이름이 잘못 표시될 수 있는 버그를 수정했습니다.일부 Index docstring이 무시되는 버그를 수정했습니다.
Series.reset_index(drop=True)
에서 결과 이름이 잘못될 수 있는 버그를 수정했습니다.기본 윈도우 식의 올바른 열을 기준으로 하는
Groupby.first/last
순서 지정의 버그를 수정했습니다.
버전 1.20.0(2024-07-17)¶
Python용 Snowpark Library 버전 1.20.0에는 몇 가지 새로운 기능이 도입되었습니다.
새로운 기능¶
DataFrame
의 테이블 저장 프로시저 함수에 대해 Open Telemetry API를 사용하는 분산 추적을 추가했습니다._execute_and_get_query_id
arrays_zip
함수 지원을 추가했습니다.숫자 값에 대한 불필요한 캐스트를 방지하여 이진 열 식과
df._in
의 성능을 개선했습니다.session.eliminate_numeric_sql_value_cast_enabled = True
를 설정하여 이러한 최적화를 활성화할 수 있습니다.대상 테이블이 존재하지 않고
auto_create_table=False
일 때write_pandas
에 대한 오류 메시지를 개선했습니다.Snowpark의 UDxF 함수에 Open Telemetry 추적 기능을 추가했습니다.
Snowpark의 저장 프로시저 등록에 대한 Open Telemetry 추적 기능을 추가했습니다.
Session.query_tag
에서 앱 이름을 JSON 형식으로 설정하는Session.SessionBuilder.app_name
함수에format_json
이라는 새로운 선택적 매개 변수를 추가했습니다. 기본적으로, 이 매개 변수는False
로 설정됩니다.
버그 수정 사항¶
lag(x, 0)
에 대해 생성된 SQL이 올바르지 않고 오류 메시지argument 1 to function LAG needs to be constant, found 'SYSTEM$NULL_TO_FIXED(null)'
이 발생하며 실패하는 버그를 수정했습니다.
Snowpark 로컬 테스트 업데이트¶
새로운 기능¶
다음 APIs에 대한 지원이 추가되었습니다.
snowflake.snowpark.functions
random
모의 함수를 등록할 때
patch
함수에 새로운 매개 변수를 추가했습니다.distinct
를 사용하면 SQL 함수가 서로 달라야 하는 경우에 대체 함수를 지정할 수 있습니다.pass_column_index
는 입력 데이터에 대한pandas.Index
를 포함하는 모의 함수에 명명된 매개 변수column_index
를 전달합니다.pass_row_index
는 모의 함수에 명명된 매개 변수row_index
를 전달하는데, 이 매개 변수는 함수가 현재 작동 중인 0부터 시작되는 행 번호입니다.pass_input_data
는 현재 식에 대한 전체 입력 데이터 프레임을 포함하는 모의 함수에 명명된 매개 변수input_data
를 전달합니다.DataFrameWriter.save_as_table
메서드에서column_order
매개 변수에 대한 지원을 추가했습니다.
버그 수정 사항¶
BinaryExpressions
에서 사용할 때DecimalType
열이 정수 전체 자릿수로 잘못 잘리는 버그를 수정했습니다.
Snowpark pandas API 업데이트¶
새로운 기능¶
다음에 대한 새로운 API 지원을 추가했습니다.
DataFrames
DataFrame.nlargest
및DataFrame.nsmallest
DataFrame.assign
DataFrame.stack
DataFrame.pivot
DataFrame.to_csv
DataFrame.corr
DataFrame.corr
DataFrame.equals
DataFrame.reindex
DataFrame.at
및DataFrame.iat
Series
Series.nlargest
및Series.nsmallest
Series.at
및Series.iat
Series.dt.isocalendar
Series.equals
Series.reindex
Series.to_csv
Series.case_when
(조건 또는 교체가 호출 가능한 경우 제외)series.plot()
(데이터를 로컬 클라이언트에 구체화)
GroupBy
DataFrameGroupBy.all
및DataFrameGroupBy.any
DataFrameGroupBy
및SeriesGroupBy
집계first
와last
DataFrameGroupBy.get_group
SeriesGroupBy.all
및SeriesGroupBy.any
일반
pd.pivot
read_excel
(처리를 위해 로컬 pandas 사용)df.plot()
(데이터를 로컬 클라이언트에 구체화)
기존 API를 다음과 같이 확장했습니다.
DataFrame.sample
및Series.sample
에서replace
및frac > 1
을 위한 지원을 추가했습니다.table
의 값이 단일 코드 포인트 문자열인 경우Series.str.translate
에 대한 부분적 지원을 추가했습니다.method
매개 변수가fillna
에서 사용될 때limit
매개 변수에 대한 지원을 추가했습니다.
Index
와 그 API에 대한 설명서 페이지를 추가했습니다.
버그 수정 사항¶
스칼라
other
가 리터럴 0인 경우 np.where 및 df.where를 사용할 때 발생하는 문제를 수정했습니다.dtype=np.uint64
로 Snowpark pandasDataFrame
또는Series
를 변환할 때 전체 자릿수 손실과 관련된 버그를 수정했습니다.index
와columns
이pivot_table
중에 DataFrame에 모든 열을 포함하는 경우values
가index
로 설정되는 버그를 수정했습니다.
개선 사항¶
Index.copy()
를 지원하는 기능이 추가되었습니다.Index API
dtype
,values
,item()
,tolist()
,to_series()
,to_frame()
에 대한 지원을 추가했습니다.pd.pivot_table
과DataFrame.pivot_table
에 행이 없는 DataFrames에 대한 지원을 확장합니다.DataFrame.sort_index
및Series.sort_index
에서inplace
매개 변수에 대한 지원을 추가했습니다.
버전 1.19.0(2024-06-25)¶
Python용 Snowpark Library 버전 1.19.0에는 몇 가지 새로운 기능이 도입되었습니다.
새로운 기능¶
to_boolean
함수에 대한 지원을 추가했습니다.Index
및 해당 API에 대한 설명서 페이지를 추가했습니다.
버그 수정 사항¶
작업에서 테이블 반환 타입이 있는 Python 저장 프로시저를 실행할 때 실패하는 버그를 수정했습니다.
DataFrame에 있는 열 개수가 500개를 넘을 때
RecursionError: maximum recursion depth exceeded
로 인해df.dropna
가 실패하는 버그를 수정했습니다.AsyncJob.result("no_result")
가 쿼리 실행이 완료될 때까지 기다리지 않는 버그를 수정했습니다.
로컬 테스트 업데이트¶
새로운 기능¶
UDF와 저장 프로시저를 등록할 때
strict
매개 변수에 대한 지원을 추가했습니다.
버그 수정 사항¶
convert_timezone
에서source_timezone
매개 변수를 설정하면 오류가 반환되는 버그를 수정했습니다.DateType
타입의 빈 데이터로 DataFrame을 생성하면AttributeError
가 발생하는 버그를 수정했습니다.업데이트 절이 있지만 업데이트가 이루어지지 않는 경우 테이블 병합이 실패하는 버그를 수정했습니다.
들어오는 열에 연속되지 않은 행 인덱스가 있는 경우
IndexError
를 발생시키는to_char
의 모의 구현에서 버그를 수정했습니다.들어오는 열에 연속되지 않은 행 인덱스가 있는 경우
IndexError
를 발생시키는CaseExpr
식 처리 시 발생하는 버그를 수정했습니다.들어오는 열에 연속되지 않은 행 인덱스가 있는 경우
IndexError
를 발생시키는Column.like
의 구현에서 버그를 수정했습니다.
개선 사항¶
DataFrame.replace
,DataFrame.dropna
및 모의 함수iff
의 구현에서 타입 강제 변환에 대한 지원을 추가했습니다.
Snowpark pandas API 업데이트¶
새로운 기능¶
freq
및limit
매개 변수 없이DataFrame.pct_change
및Series.pct_change
에 대한 부분 지원을 추가했습니다.Series.str.get
에 대한 지원을 추가했습니다.Series.dt.dayofweek
,Series.dt.day_of_week
,Series.dt.dayofyear
,Series.dt.day_of_year
에 대한 지원을 추가했습니다.Series.str.__getitem__ (Series.str[...])
에 대한 지원을 추가했습니다.Series.str.lstrip
및Series.str.rstrip
에 대한 지원을 추가했습니다.DataFrameGroupby.size
및SeriesGroupby.size
에 대한 지원을 추가했습니다.axis=0
을 사용하여 집계count
,sum
,min
,max
,mean
,std
,var
의DataFrame.expanding
및Series.expanding
에 대한 지원을 추가했습니다.axis=0
을 사용한 집계 카운트를 위해DataFrame.rolling
및Series.rolling
에 대한 지원을 추가했습니다.Series.str.match
에 대한 지원을 추가했습니다.집계 크기의
DataFrame.resample
및Series.resample
에 대한 지원을 추가했습니다.
버그 수정 사항¶
GroupBy.aggregate
열의 출력이 잘못 정렬되는 버그를 수정했습니다.서로 다른
dtypes
의 중복 열이 있는 프레임에서DataFrame.describe
를 호출하면 오류나 잘못된 결과가 발생할 수 있는 버그를 수정했습니다.이제
window=0
이ValueError
대신NotImplementedError
를 발생시키도록DataFrame.rolling
및Series.rolling
의 버그를 수정했습니다.
개선 사항¶
DataFrame.aggregate
및Series.aggregate
에서axis=0
을 사용하여 명명된 집계에 대한 지원을 추가했습니다.pd.read_csv
는 네이티브 pandas CSV 파서를 사용하여 읽은 다음 parquet를 사용하여 Snowflake에 데이터를 업로드합니다. 이를 통해 날짜 구문 분석 및 숫자 변환을 포함하여read_csv
에서 지원하는 대부분의 매개 변수를 사용할 수 있습니다. Parquet를 통한 업로드 속도는 CSV를 통한 업로드 속도보다 약 2배 빠릅니다.Snowpark pandas에서
pd.Index
를 직접 지원하기 위한 초기 작업입니다. Snowpark pandas의 일급 구성 요소인pd.Index
에 대한 지원을 활발하게 개발 중입니다.지연 인덱스 생성자와
len
,shape
,size
,empty
,to_pandas()
,names
에 대한 지원을 추가했습니다.df.index
의 경우 Snowpark pandas는 지연 인덱스 오브젝트를 생성합니다.df.columns
의 경우 데이터가 이미 로컬에 저장되어 있으므로 Snowpark pandas는Index
의 비지연 버전을 지원합니다.
버전 1.18.0(2024-05-28)¶
Snowpark 라이브러리 버전 1.18.0에는 몇 가지 새로운 기능이 도입되었습니다.
새로운 기능¶
사용자가 세션 지속 시간 동안
DataFrame
및Series
오브젝트를 임시 테이블에 유지하여 후속 연산 대기 시간을 개선할 수 있는DataFrame.cache_result
및Series.cache_result
메서드를 추가했습니다.
개선 사항¶
index
매개 변수가 없는 경우와margins
매개 변수가 있는 경우DataFrame.pivot_table
에 대한 지원이 추가되었습니다.DataFrame.shift
,Series.shift
,DataFrameGroupBy.shift
및SeriesGroupBy.shift
의 서명을 pandas 2.2.1과 일치하도록 업데이트했습니다. Snowpark pandas는 아직 새로 추가된 접미사 인자 또는 기간의 시퀀스 값을 지원하지 않습니다.Series.str.split
에 대한 지원이 다시 추가되었습니다.
버그 수정 사항¶
문자열 메서드의 혼합 열 관련 문제(
Series.str.*
)를 수정했습니다.
로컬 테스트 업데이트¶
새로운 기능¶
파일 형식 CSV 및 JSON에 대한 다음
DataFrameReader
읽기 옵션 지원이 추가되었습니다.PURGE
PATTERN
False
값이 포함된 INFER_SCHEMAUTF8
값이 포함된 ENCODING
DataFrame.analytics.moving_agg
및DataFrame.analytics.cumulative_agg_agg
에 대한 지원이 추가되었습니다.UDF 및 저장 프로시저 등록 중
if_not_exists
매개 변수에 대한 지원이 추가되었습니다.
버그 수정 사항¶
소수점 초 부분이 올바르게 처리되지 않는 처리 시간 형식의 버그를 수정했습니다.
*
에서 함수 호출이 실패하는 버그를 수정했습니다.map
및struct
타입 오브젝트를 생성할 수 없는 버그를 수정했습니다.함수
date_add
가 일부 숫자 유형을 처리할 수 없는 버그를 수정했습니다.TimestampType
형변환 시 잘못된 데이터가 생성되던 버그를 수정했습니다.경우에 따라
DecimalType
데이터의 정밀도가 부정확하게 표시되는 버그를 수정했습니다.누락된 테이블 또는 뷰를 참조하면
IndexError
가 발생하는 버그를 수정했습니다.모의 함수
to_timestamp_ntz
가None
데이터를 처리할 수 없는 버그를 수정했습니다.모의 UDFs가
None
의 출력 데이터를 부적절하게 처리하는 버그를 수정했습니다.조인 작업 후
DataFrame.with_column_renamed
가 상위DataFrames
의 특성을 무시하던 버그를 수정했습니다.큰 값을 pandas
DataFrame
으로 변환할 때 정수 전체 자릿수가 손실되던 버그를 수정했습니다.pandas
DataFrame
에서DataFrame
을 만들 때datetime
오브젝트의 스키마가 잘못되던 버그가 수정되었습니다.null 데이터가 잘못 처리되는
Column.equal_nan
구현의 버그를 수정했습니다.조인 작업 후
DataFrame.drop
가 상위DataFrames
의 특성을 무시하던 버그를 수정했습니다.모의 함수
date_part
에서 열 유형이 잘못 설정되는 버그가 수정되었습니다.null 허용이 불가능한 열에 null 데이터를 삽입할 때
DataFrameWriter.save_as_table
가 예외를 발생시키지 않는 버그를 수정했습니다.DataFrameWriter.save_as_table
의 구현 버그를 수정했습니다. 여기서,수신 데이터의 스키마가 기존 테이블과 다른 경우 추가 또는 잘라내기가 실패했습니다.
수신 데이터에 null 허용 열이 지정되지 않은 경우 잘라내기가 실패했습니다.
개선 사항¶
사용되지 않으므로,
pyarrow
종속성 검사를 제거했습니다.Column.cast
의 대상 타입 적용 범위를 개선하여 부울 및 모든 통합 유형에 대한 형변환 지원을 추가했습니다.UDFs 및 저장 프로시저 호출 시 오류 환경을 조정했습니다.
is_permanent
및anonymous
옵션에 대한 적절한 오류 메시지를 UDFs 및 저장 프로시저 등록에 추가하여 해당 기능이 아직 지원되지 않는다는 점을 명확히 밝혔습니다.지원되지 않는 옵션과 값을 사용하는 파일 읽기 연산에는 이제 경고와 불분명한 오류 정보 대신
NotImplementedError
를 표시합니다.
버전 1.17.0(2024-05-21)¶
Snowpark 라이브러리 버전 1.17.0에는 몇 가지 새로운 기능이 도입되었습니다.
새로운 기능¶
아래 나열된 함수를 사용하여 테이블과 뷰에 설명을 추가하는 지원이 추가되었습니다.
DataFrameWriter.save_as_table
DataFrame.create_or_replace_view
DataFrame.create_or_replace_temp_view
DataFrame.create_or_replace_dynamic_table
개선 사항¶
스키마를 지정하지 않고 CSV 파일을 읽을 때
{"infer_schema": True}
를 설정하라는 오류 메시지를 표시하도록 개선했습니다.
로컬 테스트 업데이트¶
새로운 기능¶
모의 함수
to_timestamp_ltz
,to_timestamp_ntz
,to_timestamp_tz
,to_timestamp
에서NumericType
및VariantType
데이터 변환에 대한 지원이 추가되었습니다.모의 함수
to_char
에서DecimalType
,BinaryType
,ArrayType
,MapType
,TimestampType
,DateType
및TimeType
데이터 변환에 대한 지원이 추가되었습니다.다음 APIs에 대한 지원이 추가되었습니다.
snowflake.snowpark.functions.to_varchar
snowflake.snowpark.DataFrame.pivot
snowflake.snowpark.Session.cancel_all
새로운 예외 클래스
snowflake.snowpark.mock.exceptions.SnowparkLocalTestingException
이 도입되었습니다.FloatType
으로의 형변환에 대한 지원이 추가되었습니다.
버그 수정 사항¶
정리 단계에서 저장 프로시저와 UDFs가 이미
sys.path
에 있는 가져오기를 제거하지 못하는 버그를 수정했습니다.datetime
형식을 처리할 때 분수 두 번째 부분이 올바르게 처리되지 않는 버그를 수정했습니다.Windows 플랫폼에서 파일 작업이 디렉터리 이름의 파일 구분 기호를 제대로 처리할 수 없는 버그를 수정했습니다.
Windows 플랫폼에서 pandas 데이터프레임을 읽을 때 정수 데이터가 포함된
IntervalType
열을 처리할 수 없는 버그를 수정했습니다.사용자가 동일한 별칭을 가진 여러 열을 선택할 수 없는 버그를 수정했습니다.
식별자가 따옴표로 묶인 경우
Session.get_current_[schema |database| role |user| account|warehouse]
가 대문자 식별자를 반환하는 버그를 수정했습니다.함수
substr
및substring
이 0 기반start_expr
을 처리할 수 없는 버그를 수정했습니다.
개선 사항¶
오류 사례에 대해 비로컬 실행에서 발생하는
SnowparkSQLException
과 동등한 수준인SnowparkLocalTestingException
으로 상향 조정하여 오류 경험을 표준화했습니다.메서드 호출 시
NotImplementError
가 발생하도록Session.write_pandas
메서드의 오류 경험을 개선했습니다.비로컬 실행에서 닫힌 세션을 재사용하여 오류 경험을 조정했습니다.
버전 1.16.0(2024-05-08)¶
Snowpark 라이브러리 버전 1.16.0에는 몇 가지 새로운 기능이 도입되었습니다.
새로운 기능¶
Snowflake 오브젝트의 데이터 계보를 탐색할 수 있는
snowflake.snowpark.Session.lineage.trace
가 추가되었습니다.Python 모듈로 제공된 패키지에 저장 프로시저를 등록하기 위한 지원이 추가되었습니다.
정형 타입 스키마 구문 분석에 대한 지원이 추가되었습니다.
버그 수정 사항¶
스키마를 추론할 때 이미 작은따옴표가 있는 스테이지 파일에 작은따옴표가 추가되던 버그가 수정되었습니다.
로컬 테스트 업데이트¶
새로운 기능¶
모의 함수
to_date
에서StringType
,TimestampType
및VariantType
데이터 변환에 대한 지원이 추가되었습니다.다음 APIs에 대한 지원이 추가되었습니다.
snowflake.snowpark.functions
:get
concat
concat_ws
버그 수정 사항¶
NaT
및NaN
값이 인식되지 않는 버그를 수정했습니다.스키마를 추론할 때 이미 작은따옴표가 있는 스테이지 파일에 작은따옴표가 추가되던 버그가 수정되었습니다.
DataFrameReader.csv
가 구분 기호가 포함된 따옴표로 묶은 값을 처리할 수 없던 버그를 수정했습니다.산술 계산에
None
값이 있을 때 출력값이math.nan
이 아닌None
으로 유지되는 버그를 수정했습니다.sum
및covar_pop
함수에서 데이터에math.nan
값이 있을 때 출력도math.nan
이어야 하는 버그를 수정했습니다.스테이지 작업이 디렉터리를 처리할 수 없는 버그를 수정했습니다.
DataFrame.to_pandas
가 전체 자릿수 38의 Snowflake 숫자 유형을int64
로 간주하는 버그를 수정했습니다.
버전 1.15.0(2024-04-24)¶
Snowpark 라이브러리 버전 1.15.0에는 몇 가지 새로운 기능이 도입되었습니다.
새로운 기능¶
기본 테이블을 삭제하는 대신 잘라내어 기존 테이블을 덮어쓰는
truncate
저장 모드가DataFrameWrite
에 추가되었습니다.수집 작업 중에 쿼리 계획 높이와 중복 노드 수를 계산하기 위해 원격 측정 기능을 추가했습니다.
DataFrame
에서 하나 이상의 파일로 데이터를 언로드하는 아래 함수가 스테이지에 추가되었습니다.DataFrame.write.json
DataFrame.write.csv
DataFrame.write.parquet
DataFrame
및DataFrameWriter
의 액션 함수에 오픈 텔레메트리 APIs를 사용한 분산 추적이 추가되었습니다.snowflake.snowpark.DataFrame
:collect
collect_nowait
to_pandas
count
show
snowflake.snowpark.DataFrameWriter
:save_as_table
snowflake.snowpark.Session.file.get
및snowflake.snowpark.Session.file.get_stream
에snow://
URLs에 대한 지원이 추가되었습니다.저장 프로시저 및 UDFs를
comment
로 등록할 수 있도록 지원이 추가되었습니다.UDAF 클라이언트 지원이 공개 미리 보기로 제공됩니다. Snowflake의 UDAF 공개 미리 보기 발표를 기대해 주세요.
동적 피벗에 대한 지원이 추가되었습니다. 이 기능은 현재 비공개 미리 보기로 제공됩니다.
개선 사항¶
중복되는 하위 쿼리를 공통 테이블 식(CTEs)으로 변환하여 컴파일과 실행 모두에서 생성된 쿼리 성능을 개선했습니다. 이는 아직 실험적인 기능이며 기본적으로 활성화되어 있지 않습니다. 이 기능은
session.cte_optimization_enabled
를True
로 설정하여 활성화할 수 있습니다.
버그 수정 사항¶
저장 프로시저 및 사용자 정의 함수를 등록하는 쿼리 실행에
statement_params
가 전달되지 않는 버그가 수정되었습니다.인용된 스테이지 위치에서
snowflake.snowpark.Session.file.get_stream
이 실패하던 버그를 수정했습니다.utils.py
의 내부 유형 힌트가 기본 모듈을 찾을 수 없는 경우AttributeError
가 발생할 수 있는 버그를 수정했습니다.
로컬 테스트 업데이트¶
새로운 기능¶
UDFs 및 저장 프로시저 등록에 대한 지원이 추가되었습니다.
다음 APIs에 대한 지원이 추가되었습니다.
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
모의 함수
to_time
에서StringType
,TimestampType
및VariantType
데이터 변환에 대한 지원이 추가되었습니다.
버그 수정 사항¶
상수 함수의 열에 null이 채워지는 버그를 수정했습니다.
null 입력을 더 잘 처리하도록
to_object
,to_array
및to_binary
를 수정했습니다.타임스탬프 데이터 비교에서 2262년 이후의 연도를 처리할 수 없는 버그를 수정했습니다.
Session.builder.getOrCreate
가 생성된 모의 세션을 반환하는 버그를 수정했습니다.
버전 1.14.0(2024-03-20)¶
Snowpark 라이브러리 버전 1.14.0에는 몇 가지 새로운 기능이 도입되었습니다.
새로운 기능¶
process
메서드를 사용하여 벡터화된 UDTFs를 생성하는 기능이 추가되었습니다.데이터프레임 함수에 대한 지원이 추가되었습니다.
to_timestamp_ltz
to_timestamp_ntz
to_timestamp_tz
locate
ASOF JOIN 타입에 대한 지원이 추가되었습니다.
다음 로컬 테스트 APIs에 대한 지원이 추가되었습니다.
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
개선 사항¶
로컬 테스트에 원격 측정 기능이 추가되었습니다.
존재하지 않는 경로를 읽거나 경로 아래에 파일이 없을 때
DataFrameReader
의 오류 메시지에서FileNotFound
오류가 표시되도록 개선했습니다.
버그 수정 사항¶
SnowflakePlanBuilder
에서 이름이$
로 시작하고 그 뒤에 숫자가 오는 열을save_as_table
가 올바르게 필터링하지 못하는 버그가 수정되었습니다.가져오기 및 패키지를 확인할 때 명령 매개 변수가 효과가 없는 버그를 수정했습니다.
로컬 테스트의 버그가 수정되었습니다.
LEFT ANTI 및 LEFT SEMI 조인은 null 값을 가진 삭제 행을 조인합니다.
DataFrameReader.csv
는 선택적 매개 변수field_optionally_enclosed_by
를 지정하면 데이터를 잘못 구문 분석합니다.Column.regexp
는pattern
이Column
인 경우에만 첫 번째 항목만 고려합니다.Table.update
는 행의 null 값을 업데이트할 때KeyError
를 표시합니다.VARIANT 열의 경우
DataFrame.collect
에서 오류가 발생합니다.계산 시
count_distinct
가 올바르게 동작하지 않습니다.정수 열에 null 값이 있으면
TypeError
가 발생합니다.
버전 1.13.0(2024-02-26)¶
Snowpark 라이브러리 버전 1.13.0에는 몇 가지 새로운 기능이 도입되었습니다.
새로운 기능¶
함수
last_day
에 선택적date_part
인자에 대한 지원을 추가했습니다.세션이 생성된 후
SessionBuilder.app_name
이query_tag
를 설정합니다.다음 로컬 테스트 함수에 대한 지원을 추가했습니다.
current_timestamp
current_date
current_time
strip_null_value
upper
lower
length
initcap
개선 사항¶
모든 활성 세션을 닫는 인터프리터 종료 시 정리 논리를 추가했습니다.
버그 수정 사항¶
잘못된 격리 수준으로 인해 반복기가 완료되기 전에 다른 쿼리가 실행되면 반복기가 잘못된 결과를 산출할 수 있는
DataFrame.to_local_iterator
의 버그를 수정했습니다.로컬 테스트가 활성화된 계획을 실행하는 동안 오류 메시지에서 테이블 이름이 잘리는 버그를 수정했습니다.
범위가 클 때
Session.range
가 빈 결과를 반환하는 버그를 수정했습니다.
버전 1.12.1(2024-02-08)¶
Snowpark 라이브러리 버전 1.12.1에는 몇 가지 새로운 기능이 도입되었습니다.
개선 사항¶
최적의 메모리 할당을 위해
to_pandas
변환 중에 기본적으로split_blocks=True
를 사용합니다. 이 매개 변수는pyarrow.Table.to_pandas
에 전달되며, 이를 통해PyArrow
는 단일 연속 블록을 할당하는 대신 메모리 할당을 더 작고 관리하기 쉬운 블록으로 분할할 수 있습니다. 이로 인해 더 큰 데이터 세트를 처리할 때 메모리 관리가 향상됩니다.
버그 수정 사항¶
null 값이 있는
IntergerType
열이 있는 Dataframe을 평가할 때 오류를 발생시키는DataFrame.to_pandas
의 버그를 수정했습니다.
버전 1.12.0(2024-01-29)¶
Snowpark 라이브러리 버전 1.12.0에는 몇 가지 새로운 기능이 도입되었습니다.
동작 변경 사항(API 호환)¶
to_pandas
작업 중에 데이터 타입을 구문 분석할 때 GS 정밀도 값을 사용하여 큰 정수 값의 정밀도 문제를 수정합니다. 이는 이전에int8
로 반환된 열이int64
로 반환되는 경우 사용자에게 영향을 미칠 수 있습니다. 사용자는 반환 열에 정밀도 값을 명시적으로 지정하여 이 문제를 수정할 수 있습니다.collect()
작업이 수행되지 않으면Session.call
실행이 저장 프로시저를 트리거하지 않는 테이블 저장 프로시저의 경우Session.call
에 대한 동작을 조정했습니다.StoredProcedureRegistration
은 이제 클라이언트의 로컬 버전 라이브러리에 대한 패키지 종속성으로snowflake-snowpark-python
을 자동으로 추가합니다. 서버가 해당 버전을 지원할 수 없으면 오류가 발생합니다.
새로운 기능¶
StoredProcedure.__call__
에statement_params
를 노출했습니다.Session.add_import
에 두 개의 선택적 인자를 추가했습니다.chunk_size
: 업로드된 파일의 청크마다 해시할 바이트 수입니다.whole_file_hash
: 기본적으로 업로드된 가져오기의 첫 번째 청크만 해시되므로 시간이 절약됩니다. 이것을 True로 설정하면 업로드된 각 파일이 대신 완전히 해시됩니다.
외부 액세스와의 통합을 허용하기 위해 Snowpark Python에서 UDAF를 생성할 때 매개 변수
external_access_integrations
및secrets
를 추가했습니다.추가 태그를 쉼표로 구분된 값으로 추가하여 현재 쿼리 태그에 추가할 수 있는 새로운 메서드
Session.append_query_tag
를 추가했습니다.JSON으로 인코딩된 사전 쿼리 태그를 업데이트할 수 있는 새 메서드
Session.update_query_tag
를 추가했습니다.SessionBuilder.getOrCreate
는 이제 토큰 만료가 감지되면 반환하는 싱글톤을 바꾸려고 시도합니다.snowflake.snowpark.functions
에 다음 함수를 추가했습니다.array_except
create_map
sign
/signum
DataFrame.analytics
에 다음 함수를 추가했습니다.여러 윈도우 크기로 합계 및 평균과 같은 이동 집계를 활성화하기 위해
DataFrame.analytics
에moving_agg
함수를 추가했습니다.여러 윈도우 크기로 합계 및 평균과 같은 이동 집계를 활성화하기 위해
DataFrame.analytics
에cummulative_agg
함수를 추가했습니다.
버그 수정 사항¶
부울 값이 정수 값을 잘못 재정의하게 만드는
DataFrame.na.fill
의 버그를 수정했습니다.pandas DataFrames를 사용하여 생성된 Snowpark DataFrames가 타임스탬프 열의 유형을 올바르게 추론하지 못하는
Session.create_dataframe
의 버그를 수정했습니다. 이 동작은 다음과 같습니다.타임존이 없는 이전 타임스탬프 열은 나노초 에포크로 변환되어
LongType()
으로 추론되지만, 이제는 타임스탬프 값으로 올바르게 유지되고TimestampType(TimestampTimeZone.NTZ)
로 추론됩니다.타임존이 있는 이전 타임스탬프 열은
TimestampType(TimestampTimeZone.NTZ)
및 느슨한 타임존 정보로 추론되지만 이제는TimestampType(TimestampTimeZone.LTZ)
로 올바르게 추론되고 타임존 정보가 올바르게 유지됩니다.이전 동작으로 되돌리려면 세션 매개 변수
PYTHON_SNOWPARK_USE_LOGICAL_TYPE_FOR_CREATE_DATAFRAME
을 설정하십시오. Snowflake에서는 매개 변수가 나중에 제거될 예정이므로 올바른 동작에 맞게 코드를 업데이트할 것을 권장합니다.
스케일이 0이 아닐 때
DataFrame.to_pandas
가 십진수 유형을 가져오고pandas
에 오브젝트 dtype을 생성하는 버그를 수정했습니다. 대신에 값을 float64 유형으로 형변환합니다.다음 중 하나가 발생할 때 생성된 SQL을 잘못 평면화하는 버그를 수정했습니다.
DataFrame.filter()
는DataFrame.sort().limit()
이후에 호출됩니다.이미 윈도우 함수나 시퀀스 종속 데이터 생성기 열이 있는 DataFrame에서
DataFrame.sort()
또는filter()
가 호출됩니다. 예를 들어,df.select("a", seq1().alias("b")).select("a", "b").sort("a")
는 더 이상 sort 절을 평면화하지 않습니다.윈도우 또는 시퀀스 종속 데이터 생성기 열은
DataFrame.limit()
뒤에 사용됩니다. 예를 들어,df.limit(10).select(row_number().over())
는 생성된 SQL에서 limit와 select를 평탄화하지 않습니다.
별칭이 지정된 열이 있는 다른 DataFrame에서 DataFame을 복사할 때 DataFrame 열의 별칭을 지정하면 오류가 발생하는 버그를 수정했습니다. 예를 들면 다음과 같습니다.
df = df.select(col("a").alias("b")) df = copy(df) df.select(col("b").alias("c")) # Threw an error. Now it's fixed.
부울 유형에 대해 스키마에서 null을 허용하지 않는 필드를 준수하지 않는
Session.create_dataframe
의 버그를 수정했습니다. 이 수정 사항은 사용자에게 임시 테이블을 생성할 권한이 있는 경우에만 적용됩니다.session.sql
에서 select 문이 아닌 문이limit()
와 함께 사용될 때 SQL 쿼리를 삭제하는 SQL 단순화 기능의 버그를 수정했습니다.세션 매개 변수
ERROR_ON_NONDETERMINISTIC_UPDATE
가 true인 경우 예외를 발생시키는 버그를 수정했습니다.