Release 328
Release 328 (2020년 1월 10일)
Presto 328 릴리스예요. regexp_count()·regexp_position() 함수, 설정 파일의 Secret 보간, 작은 타입으로의 값 삽입 허용 등이 담겼어요.
본문
General
- 오른쪽에 있는 상관 서브쿼리가 행을 만들지 않을 때 특정 상관 조인 쿼리의 정확성 문제를 고쳤어요(#1969).
- 패턴이 비어 있을 때 정규식 함수의 멀티바이트 문자 처리 문제를 고쳤어요(#2313).
- 조인 조건에 서로 다른 타입의 컬럼이 포함될 때 실패하던 문제를 고쳤어요(#2320).
- 동적 필터링이 활성화됐을 때 복잡한 외부 조인 쿼리의 실패를 고쳤어요(#2363).
- 상관 쿼리(correlated queries) 지원을 개선했어요(#1969).
- 값이 맞으면 더 큰 타입의 값을 더 작은 타입에 삽입할 수 있게 했어요. 예를 들어
BIGINT를SMALLINT로,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타입을 PrestoDECIMAL로 매핑하는 것을 지원하게 됐어요(#2088).
더 알아보기 (Learn more)
설정 파일의 Secret 보간은 현재 Trino에서도 유용한 기능이에요. regexp_count()·regexp_position()은 최신 함수 문서에서 자세히 확인할 수 있어요.