Release 335
Release 335 (2020년 6월 14일)
Presto 335 릴리스예요. 가변 정밀도 TIMESTAMP 타입, UNIONTYPE 지원, 동적 파티션 프루닝, 파일 기반 접근 제어의 스키마 규칙 등이 담겼어요.
본문
General
reduce_agg()가 윈도우 함수로 쓰일 때 실패하던 문제를 고쳤어요(#3883).- time zone이 없는
TIMESTAMP에서TIME타입으로의 잘못된 캐스트를 고쳤어요(#3848). - 매우 큰
TIMESTAMP값을TIMESTAMP WITH TIME ZONE으로 변환하거나, 매우 큰TIMESTAMP WITH TIME ZONE값을 파싱할 때 잘못된 쿼리 결과가 나오던 문제를 고쳤어요(#3956). substr()인자가CHAR타입일 때VARCHAR타입을 반환하도록 했어요(#3599, #3456).- 균일하지 않은 데이터 분포에 대한 최적화된 로컬 스케줄링을 개선했어요(#3922).
- 가변 정밀도(variable-precision)
TIMESTAMP(time zone 없음) 타입 지원을 추가했어요(#3783). CHAR인자를 받는substring()변형을 추가했어요(#3949).- 주체(principals)에 부여된 역할에 대한 정보를 반환하는
information_schema.role_authorization_descriptors테이블을 추가했어요(#3535).
Security
- 파일 기반 접근 제어에 스키마 접근 규칙(schema access rules)을 추가했어요(#3766).
Web UI
- 워커 메모리 풀 막대에 표시되는 값을 고쳤어요(#3920).
Accumulo 커넥터
- 서버 측 반복자(server-side iterators)가 이제
presto-accumulo-iterators라는 JAR 파일에 있어요(#3673).
Hive 커넥터
- 빈 테이블에 대한 삽입 시 컬럼 통계를 수집하도록 했어요(#2469).
- sql-standard 보안 모드를 쓸 때
information_schema.role_authorization_descriptors테이블 지원을 추가했어요(#3535). system.sync_partition_metadata프로시저에서 소문자가 아닌 컬럼 이름을 허용하게 됐어요. 프로시저 호출 시case_sensitive=false를 전달하면 활성화할 수 있어요(#3431).- 보안된(secured) 코디네이터와 함께 캐싱을 지원하게 됐어요(#3874).
- 일시적인 네트워크 실패로 인해 캐싱이 비활성화되지 않도록 했어요(#3874).
- 캐싱이 활성화됐을 때 HDFS 가장(impersonation)이 활성화되지 않도록 했어요(#3913).
hive.cache.ttl과hive.cache.disk-usage-percentage캐시 속성을 추가했어요(#3840).- 캐시된 데이터가 있는 노드에 작업을 스케줄링해 캐싱이 활성화됐을 때 쿼리 성능을 개선했어요(#3922).
UNIONTYPE지원을 추가했어요. 이것은 태그 필드와 union의 각 데이터 타입에 대한 필드를 포함하는ROW로 매핑돼요. 예를 들어UNIONTYPE<INT, DOUBLE>은ROW(tag INTEGER, field0 INTEGER, field1 DOUBLE)로 매핑돼요(#3483).drop_stats프로시저의partition_values인자를 선택적으로 만들었어요(#3937).- 파티션된 데이터에 대한 복잡한 쿼리 성능을 개선하는 동적 파티션 프루닝(dynamic partition pruning) 지원을 추가했어요(#1072).
Phoenix 커넥터
DROP TABLE허용 여부를 설정할 수 있게 했어요. 이는 새allow-drop-table카탈로그 설정 속성으로 제어되며 기본값은true로 이전 동작과 호환돼요(#3953).
SPI
ConnectorMetadata.applyAggregation()메서드를 통해 커넥터로의 집계 pushdown 지원을 추가했어요(#3697).
더 알아보기 (Learn more)
가변 정밀도 TIMESTAMP 타입은 이후 Trino의 시간 처리 변화의 시작이에요. UNIONTYPE 매핑과 동적 파티션 프루닝은 최신 Hive 커넥터 문서에서 확인해 보세요.