Release 314
Release 314 (2019년 6월 7일)
Presto 314 릴리스예요. ROW 필드에 대한 위치 기반 접근(subscript), delete pushdown 지원, LZ4·ZSTD 압축 Parquet 읽기 지원 등이 담겼어요.
본문
General
NULL값을 포함하는BETWEEN의 잘못된 결과를 고쳤어요(#877).- 코디네이터의 쿼리 기록 누수(query history leak)를 고쳤어요(#939, #944).
- 유휴 클라이언트(클라) 타임아웃 처리를 고쳤어요(#947).
json_parse()함수 성능을 개선했어요(#904).EXPLAIN출력에서 계획 구조를 시각화했어요(#888).- 서브스크립트 연산자로
ROW필드에 위치 기반 접근(positional access)을 지원하게 됐어요(#860).
CLI
- JSON 출력 형식을 추가했어요(#878).
Web UI
- UI의 대기 쿼리(queued queries) 카운터를 고쳤어요(#894).
Server RPM
http-request.log의 기본 위치를/var/log/presto로 변경했어요. 이전에는 기본적으로/var/lib/presto/data/var/log에 있었어요(#919).
Hive 커넥터
- Derby와 Oracle을 포함한 특정 데이터베이스에서 Hive 2.3+ 메타스토어의 테이블·뷰 나열 문제를 고쳤어요.
SHOW TABLES,SHOW VIEWS,information_schema.tables테이블 읽기가 고쳐져요(#833). - Hive
SERDEPROPERTIES에avro.schema.url이 정의된 Avro 테이블 처리 문제를 고쳤어요(#898). - ORC 블룸 필터(bloom filters)가 무시되던 회귀를 고쳤어요(#921).
- LZ4와 ZSTD 압축 Parquet 데이터 읽기 지원을 추가했어요(#910).
- ZSTD 압축 ORC 데이터 쓰기 지원을 추가했어요(#910).
hive.compression-codec설정 옵션으로 ZSTD와 LZ4를 기본 압축 방법으로 설정하는 것을 지원하게 됐어요(#910).- 헤더나 푸터가 있는 텍스트 형식 테이블에 삽입하는 것을 허용하지 않도록 했어요(#891).
- 텍스트 형식 테이블의 헤더·푸터 줄 수를 지정하는
textfile_skip_header_line_count와textfile_skip_footer_line_count테이블 속성을 추가했어요(#845). - split 발견율을 제한해 파일 시스템 부하를 줄일 수 있는
hive.max-splits-per-second설정 속성을 추가했어요(#534). - insert 쿼리에서 파티션되지 않은 테이블 덮어쓰기를 지원하게 됐어요(#924).
PostgreSQL 커넥터
- 내부 타입 이름으로 선언된 PostgreSQL 배열을 지원하게 됐어요. 예를 들어
int[]대신_int4같은 형식이에요(#659).
Elasticsearch 커넥터
- 혼합 대소문자(mixed-case) 필드 이름 지원을 추가했어요(#887).
Base-JDBC 커넥터 라이브러리
- 커넥터가
NULL값을 저장하는 방식을 커스터마이즈할 수 있게 했어요(#918).
SPI
- 실행된 prepared statement의 SQL 텍스트를
EventListener에 노출했어요(#908). ConnectorMetadata.makeCompatiblePartitioning()에 대한 더 이상 쓰이지 않는 테이블 레이아웃을 deprecate했어요(#689).ConnectorMetadata.applyDelete()와ConnectorMetadata.executeDelete()메서드를 통해 커넥터로의 delete pushdown 지원을 추가했어요(#689).- 분산 테이블(distributed tables)이 없는 커넥터를 허용하게 됐어요(#893).
더 알아보기 (Learn more)
ROW 필드의 위치 기반 접근과 delete pushdown은 최신 Trino SQL·SPI 문서에서 자세히 확인할 수 있어요. Hive 커넥터의 압축 코덱 설정도 운영에 유용한 주제예요.