Release 302
Release 302 (2019년 2월 6일)
Presto 302 릴리스예요. Elasticsearch 커넥터와 지리공간 타입이 추가되고, 스필링·클러스터 기아 상태 관련 버그가 수정된 버전이에요.
본문
General
- 최소 워커 수 대기(wait for minimum number of workers)가 켜져 있을 때 발생하던 클러스터 기아 상태(cluster starvation)를 고쳤어요(#155).
- 최소 워커 수 대기 때문에 막혀 있던 쿼리의 백업(backup) 문제를 고쳤어요(#155).
- 인용된 예약어(reserved word)를 테이블 이름으로 가진 문을 준비(prepare)할 때 실패하던 문제를 고쳤어요(#80).
- 쿼리 실행의 특정 단계에서 스필링(spilling)이 발생할 때 쿼리가 실패하던 문제를 고쳤어요(#164).
- 테이블 이름 인용(quoting)을 보존하도록
SHOW CREATE VIEW출력을 고쳤어요(#80). - Elasticsearch 커넥터를 추가했어요(#118).
approx_distinct()에 boolean 타입 지원을 추가했어요(#82).EXPLAIN의TYPE IO에 boolean 컬럼 지원을 추가했어요(#157).SphericalGeography타입과 관련 지리공간 함수를 추가했어요(#166).- 더 이상 쓰이지 않는 시스템 메모리 풀(system memory pool)을 제거했어요(#168).
ROLLUP과 관련된 특정 쿼리의 성능을 개선했어요(#105).
CLI
- 추적 토큰(trace token)을 설정하는
--trace-token옵션을 추가했어요(#117). - 디버그 정보의 일부로 스필된 데이터 크기를 표시했어요(#161).
Web UI
- 쿼리 상세 페이지에 스필된 데이터 크기를 추가했어요(#161).
Security
- Kerberos 서비스 사용자(service principal)의 호스트 이름을 설정하는
http.server.authentication.krb5.principal-hostname설정 옵션을 추가했어요(#146, #153). - 커넥터가 활용할 수 있는 클라이언트 제공 추가 자격 증명(extra credentials) 지원을 추가했어요(#124).
Hive 커넥터
smallint,tinyint타입에 대한 Parquet 조건자 pushdown을 고쳤어요(#131).- Google Cloud Storage(GCS) 지원을 추가했어요. 자격 증명은
hive.gcs.json-key-file-path설정 속성으로 전역 제공하거나,hive.gcs.use-access-token설정 속성이 켜져 있으면hive.gcs.oauth라는 이름의 클라이언트 제공 추가 자격 증명으로 제공할 수 있어요(#124). - 빈 S3 디렉터리를 가리키는
external_location속성으로 테이블을 생성할 수 있게 했어요(#75). - 최대 컬럼 읽기 크기를 제한해 Parquet 리더의 GC 압력을 줄였어요(#58).
- ORC나 Parquet를 읽을 때 S3의 네트워크 사용량과 지연 시간을 줄였어요(#142).
Kafka 커넥터
table_name에 대한 등식 조건(equality condition) 없이information_schema.columns를 읽을 때 쿼리가 실패하던 문제를 고쳤어요(#120).
Redis 커넥터
table_name에 대한 등식 조건 없이information_schema.columns를 읽을 때 쿼리가 실패하던 문제를 고쳤어요(#120).
SPI
QueryCreatedEvent와QueryCompletedEvent에 쿼리 피크 태스크 사용자 메모리를 포함시켰어요(#163).QueryCompletedEvent에 계획 노드 비용과 통계 추정치를 포함시켰어요(#134).QueryCompletedEvent에 물리·내부 네트워크 입력 데이터 크기를 포함시켰어요(#133).
더 알아보기 (Learn more)
Elasticsearch 커넥터는 이후에도 널리 쓰여요. SphericalGeography 같은 지리공간 타입과 함수는 최신 Trino 지리공간 문서에서 더 자세히 확인할 수 있어요.