릴리스 407
릴리스 407 (2023년 2월 16일)
이번 릴리스에서는 단일 행 VALUES 절의 상관 쿼리 지원과 대형 클러스터 동시성 개선이 눈에 띄어요.
출처: Trino 릴리스 407 문서
본문
일반 (General)
- 단일 행을 가진
VALUES절이 포함된 상관 쿼리를 지원해요. (#15989) - 큰 스키마의 메모리 사용량을 줄였어요.
query.remote-task.enable-adaptive-request-size구성값으로 켜고query.remote-task.max-request-size,query.remote-task.request-size-headroom,query.remote-task.guaranteed-splits-per-task구성값(및 각 세션 속성)으로 구성할 수 있어요. (#15721) - 분산 조인·집계에 쓸 노드 수를 자동 결정해 대형 클러스터에서 작은 동시 쿼리를 실행할 때 동시성을 개선했어요.
query.max-hash-partition-count(query.hash-partition-count에서 이름 변경)와query.min-hash-partition-count구성값으로 관리할 수 있어요. (#15489) - 쿼리 메모리 추적을 개선했어요. (#15983)
- 동적 필터가 있는 쿼리의 메모리 사용량 회계를 개선했어요. (#16110)
- 조건이 null 값으로 평가될 때 쿼리 성능을 개선했어요. (#15744)
- 전역 집계 출력에 조인하는 쿼리의 성능을 개선했어요. (#15858)
- 선별적 쿼리, 적은 수의 컬럼을 읽는 쿼리, 큰 Parquet 행 그룹·ORC 스트라이프가 있는 테이블을 처리하는 쿼리의 성능을 개선했어요. (#15579)
- 윈도우 함수가 있는 쿼리의 성능을 개선했어요. (#15994)
- Trino가 시작 중 크래시할 때 종료 코드
100을 반환하도록 했어요. (#16113) - 정밀도가 3보다 높은
time값과 낮은 정밀도의time with time zone값을 변환할 때 발생하던 정밀도 손실을 고쳤어요. (#15861) - 쿼리가 실패하는 대신 정상 완료로 보고해 발생할 수 있는 잘못된 결과를 고쳤어요. (#15917)
- 재사용 가능한 연결이 닫혀 발생하던 연결 오류를 고쳤어요. (#16121)
JOIN의 한 분기에서SELECT절의 항과 같은WHERE절의 등식 조건을 포함한 쿼리의 잘못된 결과를 고쳤어요. (#16101)
Cassandra 커넥터
- 전체 쿼리를 커넥터로 통과시키는
query테이블 함수를 추가했어요. (#15973)
Delta Lake 커넥터
unregister_table프로시저 지원을 추가했어요. (#15784)CHECK제약 조건이 있는 테이블로의 삽입을 지원해요. (#15396)- 변경 데이터 피드(change data feed)에 쓰는 것을 지원해요.
delta.enableChangeDataFeed테이블 속성으로 켤 수 있어요. (#15453) - Delta Lake 테이블 히스토리를 조회할 수 있는
$history시스템 테이블을 추가했어요. (#15683) - Parquet 파일에서 소수 타입 읽기 성능을 개선했어요. (#15713)
- Parquet 파일에서 숫자 타입 읽기 성능을 개선했어요. (#15850)
- Parquet 파일에서 문자열 타입 읽기 성능을 개선했어요. (#15897, #15923)
- Parquet 파일에서 타임스탬프·부울 타입 읽기 성능을 개선했어요. (#15954)
- Trino가
CREATE TABLE AS로 만든 테이블의 쿼리 성능을 개선했어요. (#15878) - 레거시 Parquet 라이터 지원을 제거했어요. (#15436)
- Apache Impala가 쓴 Parquet 파일을 읽을 때 쿼리가 실패하던 문제를 고쳤어요. (#15942)
- Glue 테이블에 테이블 타입이 설정돼 있지 않을 때 관계 나열이 실패하던 문제를 고쳤어요. (#15909)
Hive 커넥터
- 쿼리 지연 시간을 줄였어요. (#15811)
- Parquet 파일에서 소수 타입 읽기 성능을 개선했어요. (#15713)
- Parquet 파일에서 숫자 타입 읽기 성능을 개선했어요. (#15850)
- Parquet 파일에서 문자열 타입 읽기 성능을 개선했어요. (#15897, #15923)
- Parquet 파일에서 타임스탬프·부울 타입 읽기 성능을 개선했어요. (#15954)
- 파티션 수가 많은 테이블의 파티션 컬럼으로의 조건 프러시다운 성능을 개선했어요. (#16113)
- 높은 부하 상황의 서버 오류를 줄였어요.
hive.s3.connect-ttl구성값으로 켤 수 있어요. (#16005) hive.max-partitions-per-scan구성값을hive.max-partitions-for-eager-load에 설정된 값보다 낮게 설정할 수 있게 했어요. (#16111)- Apache Impala가 쓴 Parquet 파일을 읽을 때 쿼리가 실패하던 문제를 고쳤어요. (#15942)
- Glue 테이블에 테이블 타입이 설정돼 있지 않을 때 관계 나열이 실패하던 문제를 고쳤어요. (#15909)
Hudi 커넥터
- Parquet 파일에서 소수 타입 읽기 성능을 개선했어요. (#15713)
- Parquet 파일에서 숫자 타입 읽기 성능을 개선했어요. (#15850)
- Parquet 파일에서 문자열 타입 읽기 성능을 개선했어요. (#15897, #15923)
- Parquet 파일에서 타임스탬프·부울 타입 읽기 성능을 개선했어요. (#15954)
- Apache Impala가 쓴 Parquet 파일을 읽을 때 쿼리가 실패하던 문제를 고쳤어요. (#15942)
Iceberg 커넥터
unregister_table프로시저 지원을 추가했어요. (#15784)- JDBC 카탈로그에서
register_table프로시저를 지원해요. (#15853) iceberg.jdbc-catalog.connection-user·iceberg.jdbc-catalog.connection-password구성값으로 JDBC 카탈로그에 연결할 때 사용자·비밀번호를 지정하는 것을 지원해요. (#16040)- 매니페스트 비동기 컴팩팅을 지원해요.
iceberg.merge_manifests_on_write세션 속성을false로 설정하면 켜져요. (#14822) DROP TABLE성능을 개선했어요. (#15981)- ORC 데이터가 있는 위치 삭제 파일(position delete files) 읽기 성능을 개선했어요. (#15969)
- Parquet 파일에서 소수 컬럼 읽기 성능을 개선했어요. (#15713)
- Parquet 파일에서 숫자 타입 읽기 성능을 개선했어요. (#15850)
- Parquet 파일에서 문자열 타입 읽기 성능을 개선했어요. (#15897, #15923)
- Parquet 파일에서 타임스탬프·부울 타입 읽기 성능을 개선했어요. (#15954)
- 지정된 스키마가 존재하지 않을 때 테이블을 만들지 못하게 했어요. (#15779)
- Apache Impala가 쓴 Parquet 파일을 읽을 때 쿼리가 실패하던 문제를 고쳤어요. (#15942)
- Glue 테이블에 테이블 타입이 설정돼 있지 않을 때 관계 나열이 실패하던 문제를 고쳤어요. (#15909)
- Glue metastore에서 구체화된 뷰를 나열할 때 접근 거부 예외를 만나면 실패하던 문제를 고쳤어요. (#15893)
Kudu 커넥터
- Kerberos 티켓이 만료될 때 인증 실패가 나던 문제를 고쳤어요. (#14372)
Memory 커넥터
- 동시
CREATE TABLE·DROP TABLE작업과 함께 테이블 컬럼 메타데이터를 읽을 때 발생할 수 있는 실패를 고쳤어요. (#16062)
MongoDB 커넥터
- 컬럼 타입 변경 지원을 추가했어요. (#15515)
MySQL 커넥터
zeroDateTimeBehavior가convertToNull로 설정됐을 때 발생할 수 있는 실패를 고쳤어요. (#16027)