Release 328

Release 328 (2020년 1월 10일)

Presto 328 릴리스예요. regexp_count()·regexp_position() 함수, 설정 파일의 Secret 보간, 작은 타입으로의 값 삽입 허용 등이 담겼어요.

출처: Trino Release 328

본문

General

  • 오른쪽에 있는 상관 서브쿼리가 행을 만들지 않을 때 특정 상관 조인 쿼리의 정확성 문제를 고쳤어요(#1969).
  • 패턴이 비어 있을 때 정규식 함수의 멀티바이트 문자 처리 문제를 고쳤어요(#2313).
  • 조인 조건에 서로 다른 타입의 컬럼이 포함될 때 실패하던 문제를 고쳤어요(#2320).
  • 동적 필터링이 활성화됐을 때 복잡한 외부 조인 쿼리의 실패를 고쳤어요(#2363).
  • 상관 쿼리(correlated queries) 지원을 개선했어요(#1969).
  • 값이 맞으면 더 큰 타입의 값을 더 작은 타입에 삽입할 수 있게 했어요. 예를 들어 BIGINTSMALLINT로, VARCHAR(10)VARCHAR(3)으로요. 맞지 않는 값은 런타임에 오류가 나요(#2061).
  • regexp_count()regexp_position() 함수를 추가했어요(#2136).
  • 서버·카탈로그 설정 파일에서 Secret을 보간하는 것을 지원하게 됐어요(#2370).

Security

  • LDAP와 함께 비밀번호 인증기를 쓸 때 사용자가 Presto 클러스터에 무단 접근할 수 있던 보안 문제를 고쳤어요(#2356).
  • LDAP 비밀번호 인증기에서 LDAP referrals 지원을 추가했어요(#2354).

JDBC 드라이버

  • 트랜잭션에서 문을 수행하지 않았을 때 java.sql.Connection#commit()java.sql.Connection#rollback() 메서드의 동작을 고쳤어요. 이전에는 이 메서드들이 실패했어요(#2339).
  • java.sql.Connection#setAutocommit()로 autocommit 모드를 복원할 때 실패하던 문제를 고쳤어요(#2338).

Hive 커넥터

  • AUTOMATIC 조인 재정렬 전략을 쓸 때 쿼리 지연 시간과 Hive 메타스토어 부하를 줄였어요(#2184).
  • hive.max-outstanding-splits-size를 2GB보다 큰 값으로 설정할 수 있게 했어요(#2395).
  • Parquet 파일을 쓸 때 불필요한 파일 시스템 stat 호출을 피하도록 했어요(#1746).
  • STS 같은 S3 관련 서비스에 대한 영구 오류(permanent errors) 재시도를 피하도록 했어요(#2331).

Kafka 커넥터

  • 내부 컬럼 _segment_start, _segment_end, _segment_count를 제거했어요(#2303).
  • 단일 Presto split이 처리할 Kafka 메시지 수를 제어하는 새 설정 속성 kafka.messages-per-split을 추가했어요(#2303).

Elasticsearch 커넥터

  • Elasticsearch 문서의 객체에 필드가 없을 때 쿼리가 실패하던 문제를 고쳤어요(#2217).
  • 인덱스 별칭(index aliases) 질의 지원을 추가했어요(#2324).

Phoenix 커넥터

  • 지원되지 않는 데이터 타입을 VARCHAR로 매핑하는 것을 지원하게 됐어요. unsupported-type-handling 설정 속성이나 unsupported_type_handling 세션 속성을 CONVERT_TO_VARCHAR로 설정하면 활성화돼요(#2427).

기타 커넥터

  • 스키마 생성 지원을 추가했어요(#1874).
  • 메타데이터 캐싱 지원을 추가했어요. metadata.cache-ttl 설정 속성이 데이터를 캐시할 시간을 제어하고(기본값 0ms로 캐싱 비활성화), metadata.cache-missing은 누락된 테이블을 캐시할지 여부를 제어해요(#2290).
  • 정밀도가 38보다 큰 DECIMAL 타입을 Presto DECIMAL로 매핑하는 것을 지원하게 됐어요(#2088).

더 알아보기 (Learn more)

설정 파일의 Secret 보간은 현재 Trino에서도 유용한 기능이에요. regexp_count()·regexp_position()은 최신 함수 문서에서 자세히 확인할 수 있어요.