Release 318

Release 318 (2019년 8월 26일)

Presto 318 릴리스예요. Google Sheets 커넥터, last_day_of_month() 함수, 대기·분석 단계 쿼리 취소 지원, S3 Requester Pays 읽기 등이 담긴 큰 버전이에요.

출처: Trino Release 318

본문

General

  • UUIDIPADDRESS 타입과 함께 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_nodequery_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=FILEconnection-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=FILEconnection-credential-file 설정 옵션을 카탈로그 속성 파일에서 설정하면 활성화돼요(#1124).
  • JdbcClient에 대한 모든 호출을 로깅할 수 있게 했어요. io.prestosql.plugin.jdbc.JdbcClient에 대해 DEBUG 로깅을 켜면 활성화돼요(#1274).
  • 특정 타입을 varchar로 강제 매핑하는 것을 가능하게 했어요. jdbc-types-mapped-to-varchar를 타입 이름의 쉼표 구분 목록으로 설정하면 활성화돼요(#186).

Redshift 커넥터

  • 별도 파일에서 JDBC 자격 증명을 제공하는 것을 지원하게 됐어요. credential-provider.type=FILEconnection-credential-file 설정 옵션을 카탈로그 속성 파일에서 설정하면 활성화돼요(#1124).
  • JdbcClient에 대한 모든 호출을 로깅할 수 있게 했어요. DEBUG 로깅을 켜면 활성화돼요(#1274).
  • 특정 타입을 varchar로 강제 매핑하는 것을 가능하게 했어요. jdbc-types-mapped-to-varchar를 타입 이름의 쉼표 구분 목록으로 설정하면 활성화돼요(#186).

SQL Server 커넥터

  • 별도 파일에서 JDBC 자격 증명을 제공하는 것을 지원하게 됐어요. credential-provider.type=FILEconnection-credential-file 설정 옵션을 카탈로그 속성 파일에서 설정하면 활성화돼요(#1124).
  • JdbcClient에 대한 모든 호출을 로깅할 수 있게 했어요. DEBUG 로깅을 켜면 활성화돼요(#1274).
  • 특정 타입을 varchar로 강제 매핑하는 것을 가능하게 했어요. jdbc-types-mapped-to-varchar를 타입 이름의 쉼표 구분 목록으로 설정하면 활성화돼요(#186).

SPI

  • Block.isLoaded() 메서드를 추가했어요(#1216).
  • 보안 API를 새 ConnectorSecurityContextSystemSecurityContext 클래스를 받도록 업데이트했어요(#171).
  • 커넥터가 최소 스케줄 split 배치 크기를 재정의할 수 있게 했어요(#1251).

더 알아보기 (Learn more)

Google Sheets 커넥터와 last_day_of_month()는 이후에도 유용한 기능이에요. 노드당 메모리 한도 재정의 세션 속성과 리소스 그룹 CPU 추적은 운영에 중요한 주제니 최신 문서를 참고해 보세요.