Trino 0.208 릴리스 노트

Trino 0.208 릴리스 노트

Trino 0.208 릴리스 노트입니다. 이번 릴리스에는 버킷화 정렬 테이블 작성 시 Hive 커넥터에서 데이터 손실 가능성이 있으니 주의가 필요해요. 그 외 일반 개선 사항과 CLI, Hive 커넥터, Thrift 커넥터 관련 변경 사항이 들어 있어요.

출처: 문서

본문

경고: 이 릴리스는 버킷화 정렬 테이블을 쓸 때 Hive 커넥터에서 데이터 손실이 발생할 가능성이 있어요.

일반 (General)

  • 가비지 컬렉션 일시 중지와 메모리 부족 예외로 이어질 메모리 회계 문제를 수정했어요.
  • push_aggregation_through_join이 활성화됐을 때 잘못된 결과를 내는 문제를 수정했어요(#10724).
  • ROW 타입의 컬럼을 언네스팅할 때 필드 이름을 보존하도록 했어요.
  • 클러스터 메모리 부족 킬러가 메모리 회계 누수에 더 탄력적이도록 했어요. 이전에는 워커의 메모리 회계 누수가 메모리 부족 킬러를 사실상 비활성화할 수 있었어요.
  • 컬럼 수가 많은 테이블에 대한 쿼리의 계획 시간을 개선했어요.
  • 쿼리의 스테이지 수에 제한을 추가했어요. 기본값은 100이며 query.max-stage-count 구성 속성과 query_max_stage_count 세션 속성으로 변경할 수 있어요.
  • spooky_hash_v2_32()spooky_hash_v2_64() 함수를 추가했어요.
  • 워커에서 메모리를 잘못 회계했을 가능성이 있는 쿼리를 로그로 남기는 클러스터 메모리 누수 감지기를 추가했어요. 이는 내부 오류를 디버깅하기 위한 도구예요.
  • 강제 변환(coercion)이 필요한 상관 서브쿼리를 지원해요.
  • Linux ppc64le에서 실행하는 실험적 지원을 추가했어요.

CLI

  • 히스토리 파일이 없을 때 생성을 수정했어요.
  • 히스토리 파일 위치를 재정의하는 PRESTO_HISTORY_FILE 환경 변수를 추가했어요.

Hive 커넥터

  • 버킷화 정렬 테이블 작성의 크기 제한을 제거했어요.
  • Parquet에 대한 라이터 스케일링을 지원해요.
  • 최적화된 ORC 라이터의 스트라이프 크기 추정을 개선했어요. 이는 아주 작은 ORC 스트라이프가 쓰여지는 경우를 줄여줘요.
  • 비용 기반 최적화기에 CHAR, VARCHAR, VARBINARY 컬럼의 실제 크기를 제공해요.
  • 테이블 작성 시 컬럼 수준 통계를 수집해요. 기본적으로 비활성화되어 있으며 hive.collect-column-statistics-on-write 속성으로 켤 수 있어요.

Thrift 커넥터

  • 쿼리 실패 메시지에 원격 서버의 오류 메시지를 포함하도록 했어요.

더 알아보기 (Learn more)

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