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 VIEWDROP VIEW를 참고하세요.

DUAL 테이블

합성 DUAL 테이블을 더 이상 지원하지 않아요. 대안으로 FROM 절 없이 쿼리를 작성하거나 VALUES 문법을 사용하세요.

Presto Verifier

쿼리 집합을 두 개의 서로 다른 클러스터에 대해 검증하는 데 사용할 수 있는 새 프로젝트 Presto Verifier가 있어요.

커넥터 개선 (Connector improvements)

  • 커넥터가 이제 테이블에 숨겨진 컬럼을 추가할 수 있어요. 숨겨진 컬럼은 DESCRIBEinformation_schema에 표시되지 않으며 SELECT *로 고려되지 않아요. 예시로 tpch 커넥터에 숨겨진 row_number 컬럼을 추가했어요.
  • Presto에는 정확성을 검증하는 광범위한 테스트 스위트가 있어요. 이 테스트 스위트를 커넥터 개발 중 사용을 위해 presto-test 모듈로 추출했어요. 예시는 TestRaptorDistributedQueries를 참고하세요.

머신러닝 함수 (Machine learning functions)

LIBSVM에 익숙한 고급 사용자가 사용할 수 있는 새 머신러닝 함수 두 개를 추가했어요. 함수는 learn_libsvm_classifierlearn_libsvm_regressor예요. 둘 다 key=value,key=value 형태의 파라미터 문자열을 받아요.

일반 (General)

  • 새 비교 함수: greatest()least()
  • 새 윈도우 함수: first_value(), last_value(), nth_value()
  • 표현식이 바이트코드로 컴파일 실패할 때 인터프리터로 폴백하는 것을 비활성화하는 구성 옵션을 추가했어요. 이 옵션을 설정하려면 etc/config.propertiescompiler.interpreter-enabled=false를 추가하세요. 이렇게 하면 특정 쿼리가 느리게 실행되는 대신 실패하도록 강제해요.
  • DATE 값이 이제 세션 시간대 기준으로 시/분/초를 0으로 설정해 TIMESTAMPTIMESTAMP 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의 변경 사항을 더 자세히 확인하고 싶다면 공식 릴리스 노트를 참고해 주세요.