Trino 0.180 릴리스 노트

Trino 0.180 릴리스 노트

Trino 0.180 릴리스 노트입니다. 이번 릴리스에서는 일반 개선 사항과 더불어 Hive, Cassandra, JDBC 드라이버, CLI, SPI 관련 변경 사항이 들어 있어요.

출처: 문서

본문

일반 (General)

  • null 값만 들어 있는 행이 클라이언트로 반환되지 않던 희귀한 버그를 수정했어요. 이 문제는 결과 페이지 전체에 null 값만 있을 때만 발생하며, 알려진 유일한 사례는 데이터를 전혀 변환하지 않는 ORC로 인코딩된 Hive 테이블에 대한 쿼리였어요.
  • 근사 데이터 타입(REAL, DOUBLE)의 값과 특정 정확한 숫자 타입(INTEGER, BIGINT, DECIMAL)의 컬럼을 비교할 때 잘못된 결과가 나오던 문제를 수정했어요.
  • 복합 타입에서 min_by()max_by()의 메모리 회계를 수정했어요.
  • 플러그인에 선언된 스칼라 함수를 인스턴스 메서드로 구현했을 때 NoClassDefFoundError로 쿼리가 실패하던 문제를 수정했어요.
  • 맵 서브스크립트(map subscript) 성능을 모든 경우에 O(n)에서 O(1)로 개선했어요. 이전에는 특정 함수와 리더가 만든 맵만 이 개선 효과를 누릴 수 있었어요.
  • EXPLAIN 출력에서 알 수 없는 비용을 건너뛰도록 했어요.
  • Presto 노드 간 보안 내부 통신을 지원해요.
  • LATERAL 파생 테이블에 대한 CROSS JOIN 초기 지원을 추가했어요.
  • VARBINARY 연결(concatenation)을 지원해요.
  • 커스텀 커넥터를 구현하지 않고도 외부 시스템에서 Presto를 사용할 수 있게 해 주는 Thrift 커넥터를 추가했어요.
  • 코디네이터에 실험용 /v1/resourceGroupState REST 엔드포인트를 추가했어요.

Hive

  • int32 또는 int64 타입으로 뒷받침되는 최적화된 Parquet 리더에서 짧은 decimal 값을 건너뛰던 문제를 수정했어요.
  • 테이블이 버킷화되지 않았다면 파티션 버킷화를 무시하도록 했어요. 이렇게 하면 테이블 메타데이터에서 버킷화(bucketing)를 제거하고도 오래된 파티션에는 그대로 남길 수 있어요.
  • 실행 중에 삭제된 Hive 파티션에 대한 오류 메시지를 개선했어요.
  • 최적화된 RCFile 라이터가 기본적으로 활성화되며, hive.rcfile-optimized-writer.enabled 구성 옵션으로 비활성화할 수 있어요. 이 라이터는 파일을 쓴 뒤 전체 파일을 다시 읽어 검증하는 기능을 지원하며, 검증은 기본적으로 꺼져 있고 hive.rcfile.writer.validate 구성 옵션으로 켤 수 있어요.

Cassandra

  • INSERT를 지원해요.
  • 클러스터링 키에 대한 비동등(non-equality) 조건자의 푸시다운을 지원해요.

JDBC 드라이버

  • Kerberos를 사용한 인증을 지원해요.
  • 연결 단위로 SSL/TLS 및 Kerberos 속성을 구성할 수 있게 했어요.
  • SOCKS 또는 HTTP 프록시를 사용한 쿼리 실행을 지원해요.

CLI

  • HTTP 프록시를 사용한 쿼리 실행을 지원해요.

SPI

  • ResourceGroupInfo에 실행 시간 제한과 대기 시간 제한을 추가했어요.

더 알아보기 (Learn more)

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