Release 319
Release 319 (2019년 9월 22일)
Presto 319 릴리스예요. 윈도우 함수 IGNORE NULLS, UNNEST 조인 지원, Azure Data Lake(adl) 파일 시스템, 스케줄러 정책 이름 변경 등이 담겼어요.
본문
General
UNION과DISTINCT집계가 포함된 쿼리의 계획 실패를 고쳤어요(#1510).CASE가 포함된 표현식을 파싱할 때의 과도한 런타임을 고쳤어요(#1407).EXPLAIN ANALYZE출력의 조각(fragment) 출력 크기를 고쳤어요(#1345).- 윈도우 함수를 포함한 쿼리에
EXPLAIN ANALYZE를 실행할 때의 드문 실패를 고쳤어요(#1401). - 존재하지 않는 리소스 그룹에 대해
/v1/resourceGroupState엔드포인트를 질의할 때 실패하던 문제를 고쳤어요(#1368). table_schema에 대한 조건자 없이table_name에 대한 등식 조건자로information_schema.table_privileges를 읽을 때 잘못된 결과가 나오던 문제를 고쳤어요(#1534).- 상관 서브쿼리(correlated subquery)에 대한 강제 변환(coercion) 처리로 인한 계획 실패를 고쳤어요(#1453).
- information_schema 테이블에 대한 쿼리 성능을 개선했어요(#1329).
- 계획 중 메타데이터 질의를 줄였어요(#1308, #1455).
- 조인 조건에 강제 변환과 복잡한 표현식이 포함된 특정 쿼리 성능을 개선했어요(#1390).
EXPLAIN (TYPE IO)출력에 비용 추정치를 포함시켰어요(#806).ORDER BY나LIMIT이 포함된 상관 서브쿼리 지원을 개선했어요(#1415).- 자동 조인 순서(automatic join ordering)가 활성화됐을 때 특정
JOIN쿼리 성능을 개선했어요(#1431). sql.default-catalog와sql.default-schema설정 속성으로 기본 세션 카탈로그와 스키마를 설정할 수 있게 했어요(#1524).- 윈도우 함수에 대한
IGNORE NULLS지원을 추가했어요(#1244). UNNEST를 포함한INNER와OUTER조인 지원을 추가했어요(#1522).- 레거시·플랫 스케줄러 정책을 각각
uniform과topology로 이름을 바꿨어요. 이들은node-scheduler.policy설정 속성으로 설정할 수 있어요(#10491). node-scheduler.network-topology.type설정 속성으로 설정할 수 있는 파일 네트워크 토폴로지 프로바이더를 추가했어요(#1500).ST_Length()에SphericalGeography지원을 추가했어요(#1551).
Security
- System 접근 제어에서 읽기 전용 접근(read-only access)을 설정할 수 있게 했어요(#1153).
- 파일 기반
SystemAccessControl에 스키마 생성·이름 변경·삭제에 대한 누락된 검사를 추가했어요(#1153). X-Forwarded-Proto헤더를 포함한 전달(forwarded) 요청에 대해 HTTP로 인증을 허용하게 됐어요. 기본적으로 비활성화돼 있고,http-server.authentication.allow-forwarded-https설정 속성으로 활성화할 수 있어요(#1442).
Web UI
- 쿼리 완료 후 표시 정보가 불일치하게 되던 Query Timeline의 렌더링 버그를 고쳤어요(#1371).
- Query Timeline에서 사용자 메모리 대신 총 메모리를 표시하도록 했어요(#1371).
CLI
- 디버깅을 위해 서버 인증서 검증을 건너뛰는
--insecure옵션을 추가했어요(#1484).
Hive 커넥터
information_schema스키마를 포함하는 Hive 3.x 메타스토어에 연결할 때information_schema읽기와SHOW SCHEMAS,SHOW TABLES,SHOW COLUMNS문제를 고쳤어요(#1192).- GCS에서 데이터를 읽을 때 성능을 개선했어요(#1443).
- 테이블 타입이 없는 Glue 메타스토어의 테이블에 접근할 수 있게 했어요(#1343).
- Azure Data Lake(adl) 파일 시스템 지원을 추가했어요(#1499).
hive.s3-file-system-type설정 속성에HADOOP_DEFAULT를 지정해 기본 Hadoop 구성을 사용함으로써 커스텀 S3 파일 시스템을 사용할 수 있게 했어요(#1397).hive.metastore.glue.use-instance-credentials설정 속성을 통해 Glue 메타스토어에 대한 인스턴스 자격 증명 지원을 추가했어요(#1363).hive.metastore.glue.aws-credentials-provider설정 속성을 통해 Glue 메타스토어에 대한 커스텀 자격 증명 프로바이더 지원을 추가했어요(#1363).- 메타스토어 캐싱을 활성화할 때
hive.metastore-refresh-interval설정 속성을 설정하지 않아도 되게 했어요(#1473). - TEXTFILE 형식 테이블에 대한 커스텀 필드 구분자를 지원하는
textfile_field_separator와textfile_field_separator_escape테이블 속성을 추가했어요(#1439). $file_size와$file_modified_time숨은 컬럼을 추가했어요(#1428).hive.metastore-timeout설정 속성이 이제 Thrift 메타스토어를 쓸 때만 받아들여져요. 이전에는 다른 메타스토어 타입에서도 받아들여졌지만 무시됐어요(#1346).- 트랜잭션 테이블(transactional tables)에서의 읽기를 금지했어요. 이전에는 읽기가 동작하는 것처럼 보였지만 데이터를 반환하지 않았어요(#1218).
- 트랜잭션 테이블에 대한 쓰기를 금지했어요. 이전에는 쓰기가 동작하는 것처럼 보였지만 데이터가 잘못 기록됐어요(#1218).
더 알아보기 (Learn more)
윈도우 함수 IGNORE NULLS는 최신 Trino SQL 문서에서 자세히 확인할 수 있어요. 스케줄러 정책(uniform/topology)과 트랜잭션 테이블 제한은 운영상 중요한 주제니 함께 보면 좋아요.