Release 320
Release 320 (2019년 10월 10일)
Presto 320 릴리스예요. Kinesis 커넥터, at_timezone()·with_timezone() 함수, Elasticsearch 커넥터 확장 등이 담겼어요.
본문
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 커넥터의 최신 동작은 각 커넥터 문서에서 확인해 보세요.