Release 320

Release 320 (2019년 10월 10일)

Presto 320 릴리스예요. Kinesis 커넥터, at_timezone()·with_timezone() 함수, Elasticsearch 커넥터 확장 등이 담겼어요.

출처: Trino Release 320

본문

General

  • 파라미터가 WITH 절 안에 있을 때 prepared statement 실행의 잘못된 파라미터 바인딩 순서를 고쳤어요(#1191).
  • 외부 조인과 크로스 조인이 섞인 특정 쿼리의 계획 실패를 고쳤어요(#1589).
  • 복잡한 조건자를 포함하는 쿼리 성능을 개선했어요(#1515).
  • 중복 필터의 불필요한 평가를 피하도록 했어요(#1516).
  • 경계가 있는 윈도우 프레임(예: ROWS BETWEEN ... PRECEDING AND ... FOLLOWING)을 쓸 때 특정 윈도우 함수의 성능을 개선했어요(#464).
  • Kinesis 커넥터를 추가했어요(#476).
  • geometry_from_hadoop_shape()를 추가했어요(#1593).
  • at_timezone()을 추가했어요(#1612).
  • with_timezone()을 추가했어요(#1612).

JDBC 드라이버

  • 경고(warnings)가 ResultSet 읽기와 관련이 없으므로, Statement에서만 경고를 보고하고 ResultSet에서는 보고하지 않도록 했어요(#1640).

CLI

  • 여러 줄 편집과 구문 강조(syntax highlighting)를 추가했어요(#1380).

Hive 커넥터

  • Hive 메타스토어 호출에 대한 가장(impersonation) 지원을 추가했어요. hive.metastore.thrift.impersonation.enabled 설정 속성으로 활성화할 수 있어요(#43).
  • Glue 메타스토어에 대한 캐싱 지원을 추가했어요(#1625).
  • SOCKS 프록시를 통해 HDFS에 접근하는 별도의 설정 속성 hive.hdfs.socks-proxy를 추가했어요. 이전에는 hive.metastore.thrift.client.socks-proxy 설정 속성으로 제어됐어요(#1469).

MySQL 커넥터

  • MySQL JDBC 드라이버가 메타데이터 쿼리에 응답할 때 MySQL information_schema를 사용할지 제어하는 mysql.jdbc.use-information-schema 설정 속성을 추가했어요. 문제 진단에 도움이 될 수 있어요(#1598).

PostgreSQL 커넥터

  • PostgreSQL 시스템 테이블(예: pg_catalog 관계) 읽기 지원을 추가했어요. 이 기능은 기본적으로 비활성화돼 있고 postgresql.include-system-tables 설정 속성으로 활성화할 수 있어요(#1527).

Elasticsearch 커넥터

  • VARBINARY, TIMESTAMP, TINYINT, SMALLINT, REAL 데이터 타입 지원을 추가했어요(#1639).
  • 사용 가능한 테이블과 그 스키마를 동적으로 발견하도록 했어요(#1639).
  • 특수 _id, _score, _source 컬럼 지원을 추가했어요(#1639).
  • 전문(full text) 쿼리 지원을 추가했어요(#1662).

SPI

  • Identity에 대한 빌더(builder)를 도입하고 공개 생성자(public constructors)를 deprecate했어요(#1624).

더 알아보기 (Learn more)

at_timezone()·with_timezone()은 시간대 변환을 다룰 때 자주 쓰여요. Kinesis·Elasticsearch 커넥터의 최신 동작은 각 커넥터 문서에서 확인해 보세요.