Release 335

Release 335 (2020년 6월 14일)

Presto 335 릴리스예요. 가변 정밀도 TIMESTAMP 타입, UNIONTYPE 지원, 동적 파티션 프루닝, 파일 기반 접근 제어의 스키마 규칙 등이 담겼어요.

출처: Trino Release 335

본문

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.ttlhive.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 커넥터 문서에서 확인해 보세요.