Release 340
Release 340 (2020년 8월 8일)
Presto 340 릴리스예요. 재귀 쿼리의 실험적 지원, LIMIT·OFFSET·FETCH FIRST의 쿼리 파라미터, 여러 비트 연산 함수, Hive 트랜잭션 테이블 생성 등이 담겼어요.
본문
General
LIMIT,OFFSET,FETCH FIRST절에서 쿼리 파라미터(query parameters) 지원을 추가했어요(#4529, #4601).- 재귀 쿼리(recursive queries)의 실험적 지원을 추가했어요(#4250).
bitwise_left_shift(),bitwise_right_shift(),bitwise_right_shift_arithmetic()을 추가했어요(#740).luhn_check()를 추가했어요(#4011).ALTER TABLE에IF EXISTS와IF NOT EXISTS문법을 추가했어요(#4651).- 페이지 전송 오류의 오류 정보에 원격 호스트를 포함시켰어요(#4511).
- 동적 파티션 프루닝의 최소 지연 시간을 개선했어요(#4388).
- 더 이상 데이터가 필요 없는 쿼리 스테이지를 취소해 클러스터 부하를 줄였어요(#4290).
VARCHAR와CHAR타입의 보유 크기(retained size) 추정을 개선해 쿼리 메모리 사용을 줄였어요(#4123).starts_with()가 포함된 쿼리 성능을 개선했어요(#4669).DECIMAL데이터 타입을 사용하는 쿼리 성능을 개선했어요(#4730).GROUP BY절에 중복 표현식이 포함됐을 때 실패하던 문제를 고쳤어요(#4609).- 쿼리 계획 중 잠재적 멈춤(hang)을 고쳤어요(#4635).
Security
CREATE TABLE LIKE를 통한 테이블 스키마의 비권한 접근(unauthorized access)을 고쳤어요(#4472).
JDBC 드라이버
- 1582-10-15 이전 날짜 처리 문제를 고쳤어요(#4563).
- 1900-01-01 이전 타임스탬프 처리 문제를 고쳤어요(#4563).
Elasticsearch 커넥터
- 인덱스 매핑(mapping)이 없을 때 실패하던 문제를 고쳤어요(#4535).
Hive 커넥터
- 스키마의 위치가 유효하지 않을 때
external_location으로 테이블을 생성할 수 있게 했어요(#4069). - 비트랜잭션으로 생성됐다가 나중에 트랜잭션으로 변환된 테이블에 대한 읽기 지원을 추가했어요(#2293).
- 트랜잭션 테이블 생성을 허용하게 됐어요. 트랜잭션 테이블에 대한 쓰기는 아직 지원되지 않는다는 점에 주의하세요(#4516).
- Glue 메타스토어에 접근할 때 수행되는 재시도 횟수를 위한
hive.metastore.glue.max-error-retries설정 속성을 추가했어요(#4611). - Thrift 메타스토어 TLS 설정에 Java KeyStore 파일을 사용할 수 있게 했어요(#4432).
- Hive 메타스토어 캐시의 적중률(hit rate) 통계를 JMX로 노출했어요(#4458).
- 큰 파일이 있고
skip.header.line.count속성이 1로 설정된 테이블을 질의할 때 성능을 개선했어요(#4513). - JSON 테이블 읽기 성능을 개선했어요(#4705).
- S3 데이터 위치에
_$folder$마커 객체가 포함됐을 때 쿼리가 실패하던 문제를 고쳤어요(#4552). - 테이블과 파티션 메타데이터가 다를 때
ROW타입의 중첩 필드를 참조하면 실패하던 문제를 고쳤어요(#3967).
Kafka 커넥터
- Raw 데이터 형식 insert 지원을 추가했어요(#4417).
- JSON insert 지원을 추가했어요(#4477).
- 사용하지 않는
kafka.connect-timeout설정 속성을 제거했어요(#4664).
MongoDB 커넥터
- 풀링된 연결의 최대 유휴 시간을 제한하는
mongodb.max-connection-idle-time속성을 추가했어요(#4483).
Phoenix 커넥터
- 테이블을 생성할 때 데이터 블록 인코딩을 지정하는 테이블 수준 속성을 추가했어요(#4617).
- 스키마를 나열할 때 쿼리가 실패하던 문제를 고쳤어요(#4560).
PostgreSQL 커넥터
- 상수 표현식에 대한
count()집계를 push down하도록 했어요. 예를 들어SELECT count(1)(#4362).
SPI
- 쿼리 이벤트 리스너에 쿼리 타입에 대한 정보를 노출했어요(#4592).
ConnectorMetadata.applyLimit()메서드를 통한 TopN pushdown 지원을 추가했어요(#4249).- 구버전의
ConnectorSplitManager.getSplits()변형들을 deprecate했어요(#4508).
더 알아보기 (Learn more)
재귀 쿼리와 LIMIT·OFFSET·FETCH FIRST의 파라미터는 최신 Trino SQL 문서에서 확인할 수 있어요. 비트 연산 함수와 luhn_check()도 함수 문서에서 자세히 봐 두면 좋아요.