Trino 0.70 릴리스 노트
Trino 0.70 릴리스 노트
Trino 0.70 릴리스 노트입니다. 이번 릴리스에는 사용할 수 없는 서버 tarball을 만든 패키징 오류가 포함되어 있으므로 이 릴리스를 사용하지 마세요. 그 외 뷰, DUAL 테이블 제거, 커넥터 개선 등이 포함돼 있어요.
출처: 문서
본문
경고: 이 릴리스에는 사용할 수 없는 서버 tarball을 만든 패키징 오류가 포함되어 있어요. 이 릴리스를 사용하지 마세요.
뷰 (Views)
Presto 내에서 뷰를 만드는 지원을 추가했어요. 뷰는 Presto 문법으로 정의되지만 커넥터가 (blob으로) 저장해요. 현재 뷰는 Raptor와 Hive 커넥터가 지원해요. Hive 커넥터의 경우 뷰는 Hive 메타스토어에 Hive 뷰로 저장되지만, Hive로 조회할 수 없으며 Hive 뷰도 Presto로 조회할 수 없어요.
자세한 내용과 예시는 CREATE VIEW와 DROP VIEW를 참고하세요.
DUAL 테이블
합성 DUAL 테이블을 더 이상 지원하지 않아요. 대안으로 FROM 절 없이 쿼리를 작성하거나 VALUES 문법을 사용하세요.
Presto Verifier
쿼리 집합을 두 개의 서로 다른 클러스터에 대해 검증하는 데 사용할 수 있는 새 프로젝트 Presto Verifier가 있어요.
커넥터 개선 (Connector improvements)
- 커넥터가 이제 테이블에 숨겨진 컬럼을 추가할 수 있어요. 숨겨진 컬럼은
DESCRIBE나information_schema에 표시되지 않으며SELECT *로 고려되지 않아요. 예시로tpch커넥터에 숨겨진row_number컬럼을 추가했어요. - Presto에는 정확성을 검증하는 광범위한 테스트 스위트가 있어요. 이 테스트 스위트를 커넥터 개발 중 사용을 위해
presto-test모듈로 추출했어요. 예시는TestRaptorDistributedQueries를 참고하세요.
머신러닝 함수 (Machine learning functions)
LIBSVM에 익숙한 고급 사용자가 사용할 수 있는 새 머신러닝 함수 두 개를 추가했어요. 함수는 learn_libsvm_classifier와 learn_libsvm_regressor예요. 둘 다 key=value,key=value 형태의 파라미터 문자열을 받아요.
일반 (General)
- 새 비교 함수:
greatest()와least() - 새 윈도우 함수:
first_value(),last_value(),nth_value() - 표현식이 바이트코드로 컴파일 실패할 때 인터프리터로 폴백하는 것을 비활성화하는 구성 옵션을 추가했어요. 이 옵션을 설정하려면
etc/config.properties에compiler.interpreter-enabled=false를 추가하세요. 이렇게 하면 특정 쿼리가 느리게 실행되는 대신 실패하도록 강제해요. DATE값이 이제 세션 시간대 기준으로 시/분/초를0으로 설정해TIMESTAMP와TIMESTAMP WITH TIME ZONE으로 암시적으로 강제 변환돼요.- 수만 개 이상의 파티션이 있는 테이블에 대한 쿼리를 계획할 때 사소한 성능 최적화를 했어요.
- 드문 조건에서 중복되고 정렬되지 않은 결과를 낼 수 있던
ORDER BY ... LIMIT쿼리 계획의 버그를 수정했어요. - 작업에서 수집되는 통계 크기를 줄여 가비지 생성을 크게 줄이고 코디네이터 안정성을 개선했어요.
- 표현식의 컴파일러 캐시를 수정했어요.
- CLI에서 빈 문이나 주석 처리된 문의 처리를 수정했어요.
Hive
- Hive 커넥터에 두 개의 새 구성 옵션
hive.max-initial-split-size(초기 스플릿 크기 구성)와hive.max-initial-splits(초기 스플릿 수 구성)가 있어요. 이는 그렇지 않으면 병렬성이 낮은 작은 쿼리를 빠르게 하는 데 유용할 수 있어요. - Hive 커넥터는 이제
presto_offline테이블 속성에 비어 있지 않은 값이 있는 모든 테이블을 오프라인으로 간주해요. 속성 값은 오류 메시지에 사용돼요. - Hive 커넥터에
DROP TABLE지원을 추가했어요. 기본적으로 이 기능은 활성화되지 않아요. 활성화하려면 Hive 카탈로그 속성 파일에서hive.allow-drop-table=true를 설정하세요. - 스플릿 생성 시 하위 디렉터리를 무시하도록 했어요(이제 Hive의 비재귀 동작과 일치).
- null 키가 있는 맵의 처리를 수정했어요.
더 알아보기 (Learn more)
Trino 0.70의 변경 사항을 더 자세히 확인하고 싶다면 공식 릴리스 노트를 참고해 주세요.