Trino 0.183 릴리스 노트

Trino 0.183 릴리스 노트

Trino 0.183 릴리스 노트입니다. 이번 릴리스에서는 일반 개선 사항과 Web UI, Hive, TPC-H, TPC-DS, SPI 관련 변경 사항이 들어 있어요.

출처: 문서

본문

일반 (General)

  • GROUPING을 사용하고 암시적 강제 변환(coercion)이 필요한 집계 표현식이 있는 쿼리의 계획 실패를 수정했어요.
  • 내부 조인과 의미적으로 동일한 비-동등(non-equi) 왼쪽 조인이 포함된 쿼리의 계획 실패를 수정했어요.
  • 같은 스테이지에서 집계 다음에 다른 비-사소한 작업이 이어질 때 보고된 메모리가 실제 사용량보다 높게 나오던 문제를 수정했어요. 이로 인해 쿼리 메모리 한도로 인한 실패나, 메모리가 부족하다고 판단돼 클러스터 처리량이 낮아질 수 있었어요.
  • VARCHAR 의미 체계에서 반환값에 뒤쪽 공백(trailing space)이 있을 때 CHAR 함수 trim(), rtrim(), substr()으로 인해 쿼리가 실패하던 문제를 수정했어요.
  • EXPLAIN ANALYZE 출력의 서식을 수정했어요.
  • 지원되지 않는 형태의 상관 서브쿼리가 포함된 쿼리에 대한 오류 메시지를 개선했어요.
  • CAST(json_parse(...) AS ...)의 성능을 개선했어요.
  • map_from_entries()map_entries() 함수를 추가했어요.
  • 집계에 대한 스필링(spilling)이 클러스터 메모리가 부족할 때만 발생하도록 변경했어요.
  • experimental.operator-memory-limit-before-spill 구성 속성과 operator_memory_limit_before_spill 세션 속성을 제거했어요.
  • 스필된 집계 데이터를 디스크에서 병합하는 데 사용할 수 있는 메모리 양을 experimental.aggregation-operator-unspill-memory-limit 구성 속성이나 aggregation_operator_unspill_memory_limit 세션 속성으로 구성할 수 있게 했어요.

Web UI

  • 쿼리 상세 페이지에 출력 행 수, 출력 크기, 쓰기 행 수, 쓰기 크기를 추가했어요.

Hive

  • 입력 데이터에 잘못된 문자열 데이터가 있을 때 ORC 또는 DWRF 파일의 잘못된 요약 통계를 초래하는 ORC-222 문제를 우회했어요. 이전에는 이로 인해 쿼리가 실패하는 경우가 많았지만, 드물게 잘못된 통계에 기반해 데이터를 잘못 건너뛰어 잘못된 결과를 낼 수도 있었어요.
  • ORC 또는 DWRF 파일에서 읽은 문자열 값을 포함한 테이블 컬럼에서 보고된 메모리가 실제 사용량보다 낮게 나오던 문제를 수정했어요. 이는 높은 GC 오버헤드나 메모리 부족 크래시로 이어질 수 있었어요.
  • 완전히 손상됐거나 실제로 ORC가 아닌 작은 ORC 파일에 대한 오류 메시지를 개선했어요.
  • 숨겨진 컬럼 "$path"에 대한 조건자 푸시다운을 추가했어요.

TPC-H

  • tinysf1 스키마에 컬럼 통계를 추가했어요.

TPC-DS

  • tinysf1 스키마에 컬럼 통계를 추가했어요.

SPI

  • ArrayBlockInterleavedBlock으로 표현된 맵 컬럼이나 값은 더 이상 지원되지 않아요. MapBlock 또는 SingleMapBlock으로 표현해야 해요.
  • 컬럼 통계를 최솟값과 최댓값으로 확장했어요.
  • 컬럼 통계에서 nullsCountnullsFraction으로 대체했어요.

더 알아보기 (Learn more)

Trino 0.183의 변경 사항을 더 자세히 확인하고 싶다면 공식 릴리스 노트를 참고해 주세요.