Release 318
Release 318 (2019년 8월 26일)
Presto 318 릴리스예요. Google Sheets 커넥터, last_day_of_month() 함수, 대기·분석 단계 쿼리 취소 지원, S3 Requester Pays 읽기 등이 담긴 큰 버전이에요.
본문
General
UUID나IPADDRESS타입과 함께DISTINCT FROM을 쓸 때 쿼리가 실패하던 문제를 고쳤어요(#1180).optimize_hash_generation이 활성화됐을 때 쿼리 성능을 개선했어요(#1071).- information schema 테이블 성능을 개선했어요(#999, #1306).
http.server.authentication.*설정 옵션을http-server.authentication.*으로 이름을 바꿨어요(#1270).- 리소스 그룹에 대한 쿼리 CPU 추적을 쿼리가 실행되는 동안 주기적으로 갱신하도록 변경했어요. 이전에는 CPU 사용량이 쿼리 완료 시에만 갱신됐어요. 이는 CPU-제한 리소스 그룹을 쓸 때 리소스 관리 공정성을 개선해요(#1128).
system.runtime.queries에서distributed_planning_time_ms컬럼을 제거했어요(#1084).- Asia/Qostanay 시간대 지원을 추가했어요(#1221).
- 쿼리의 노드당 메모리 한도를 재정의하는 세션 속성
query_max_memory_per_node와query_max_total_memory_per_node를 추가했어요. 이 속성들은 쿼리의 한도를 낮추는 데는 쓸 수 있지만 높이는 데는 쓸 수 없어요(#1212). - Google Sheets 커넥터를 추가했어요(#1030).
system.runtime.queries테이블에 쿼리 계획에 소요된 시간을 보여 주는planning_time_ms컬럼을 추가했어요. 이는 오해의 소지가 있던analysis_time_ms컬럼에 있던 값과 같아요(#1084).last_day_of_month()함수를 추가했어요(#1295).- 큐에 있거나 의미 분석(semantic analysis) 단계에 있는 쿼리를
system.runtime.kill_query프로시저로 취소하는 것을 지원하게 됐어요(#1079). - 큐에 있거나 의미 분석 단계에 있는 쿼리를
system.runtime.queries테이블에 추가했어요(#1079).
Web UI
- 큐에 있거나 의미 분석 단계에 있는 쿼리에 대한 정보를 표시하도록 했어요(#1079).
- 큐에 있거나 의미 분석 단계에 있는 쿼리 취소를 지원하게 됐어요(#1079).
Hive 커넥터
- 빈 버킷 파일을 쓸 때 자격 증명 부족으로 쿼리가 실패하던 문제를 고쳤어요(#1298).
- real 타입의 NaN 값 버킷팅 문제를 고쳤어요. 이전에는 NaN 값이 잘못된 버킷에 배정될 수 있었어요(#1336).
- Hive 3.0 이전 버전이 설정한 RCFile 컬렉션 구분자 집합을 읽는 문제를 고쳤어요(#1321).
- Hive 버킷팅 v2를 사용하는 테이블에서
"$bucket"컬럼을 선택할 때 적절한 오류를 반환하도록 했어요(#1336). - S3 객체 나열(listing) 성능을 개선했어요(#1232).
- GCS에서 데이터를 읽을 때의 성능을 개선했어요(#1200).
- S3 Requester Pays 버킷에서 데이터 읽기 지원을 추가했어요.
hive.s3.requester-pays.enabled설정 속성으로 활성화할 수 있어요(#1241). - 버킷팅된, 파티션되지 않은 테이블에 삽입하는 것을 허용하게 됐어요(#1127).
- 버킷팅된, 파티션된 테이블의 기존 파티션에 삽입하는 것을 허용하게 됐어요(#1347).
PostgreSQL 커넥터
- 별도 파일에서 JDBC 자격 증명을 제공하는 것을 지원하게 됐어요. 카탈로그 속성 파일에서
credential-provider.type=FILE과connection-credential-file설정 옵션을 설정하면 활성화돼요(#1124). JdbcClient에 대한 모든 호출을 로깅할 수 있게 했어요.io.prestosql.plugin.jdbc.JdbcClient에 대해 DEBUG 로깅을 켜면 활성화돼요(#1274).- 특정 타입을 varchar로 강제 매핑하는 것을 가능하게 했어요.
jdbc-types-mapped-to-varchar를 타입 이름의 쉼표 구분 목록으로 설정하면 활성화돼요(#186). - PostgreSQL
timestamp[]타입 지원을 추가했어요(#1023, #1262, #1328).
MySQL 커넥터
- 별도 파일에서 JDBC 자격 증명을 제공하는 것을 지원하게 됐어요.
credential-provider.type=FILE과connection-credential-file설정 옵션을 카탈로그 속성 파일에서 설정하면 활성화돼요(#1124). JdbcClient에 대한 모든 호출을 로깅할 수 있게 했어요.io.prestosql.plugin.jdbc.JdbcClient에 대해 DEBUG 로깅을 켜면 활성화돼요(#1274).- 특정 타입을 varchar로 강제 매핑하는 것을 가능하게 했어요.
jdbc-types-mapped-to-varchar를 타입 이름의 쉼표 구분 목록으로 설정하면 활성화돼요(#186).
Redshift 커넥터
- 별도 파일에서 JDBC 자격 증명을 제공하는 것을 지원하게 됐어요.
credential-provider.type=FILE과connection-credential-file설정 옵션을 카탈로그 속성 파일에서 설정하면 활성화돼요(#1124). JdbcClient에 대한 모든 호출을 로깅할 수 있게 했어요. DEBUG 로깅을 켜면 활성화돼요(#1274).- 특정 타입을 varchar로 강제 매핑하는 것을 가능하게 했어요.
jdbc-types-mapped-to-varchar를 타입 이름의 쉼표 구분 목록으로 설정하면 활성화돼요(#186).
SQL Server 커넥터
- 별도 파일에서 JDBC 자격 증명을 제공하는 것을 지원하게 됐어요.
credential-provider.type=FILE과connection-credential-file설정 옵션을 카탈로그 속성 파일에서 설정하면 활성화돼요(#1124). JdbcClient에 대한 모든 호출을 로깅할 수 있게 했어요. DEBUG 로깅을 켜면 활성화돼요(#1274).- 특정 타입을 varchar로 강제 매핑하는 것을 가능하게 했어요.
jdbc-types-mapped-to-varchar를 타입 이름의 쉼표 구분 목록으로 설정하면 활성화돼요(#186).
SPI
Block.isLoaded()메서드를 추가했어요(#1216).- 보안 API를 새
ConnectorSecurityContext와SystemSecurityContext클래스를 받도록 업데이트했어요(#171). - 커넥터가 최소 스케줄 split 배치 크기를 재정의할 수 있게 했어요(#1251).
더 알아보기 (Learn more)
Google Sheets 커넥터와 last_day_of_month()는 이후에도 유용한 기능이에요. 노드당 메모리 한도 재정의 세션 속성과 리소스 그룹 CPU 추적은 운영에 중요한 주제니 최신 문서를 참고해 보세요.