Trino 0.69 릴리스 노트

Trino 0.69 릴리스 노트

Trino 0.69 릴리스 노트입니다. 이번 릴리스에서는 구성 마이그레이션, Raptor 커넥터, 머신러닝 함수, varbinary 타입 등이 포함돼 있어요.

출처: 문서

본문

경고: 다음 구성 속성은 코디네이터와 워커 양쪽의 etc/config.properties 파일에서 제거해야 해요:

  • presto-metastore.db.type
  • presto-metastore.db.filename

또한 datasources 속성은 이제 더 이상 사용되지 않으며 역시 제거해야 해요(Datasource 구성 참고).

코디네이터에서 작업 스케줄링 방지

node-scheduler.include-coordinator라는 새 구성 속성이 코디네이터에서 작업 스케줄링을 허용하거나 금지해요. 이전에는 최종 집계 같은 작업이 코디네이터에 스케줄링될 수 있었어요. 더 큰 클러스터에서는 쿼리 실행을 계획·관리·모니터링하는 중요한 작업에 머신의 자원을 사용할 수 없으므로 코디네이터에서 처리 작업을 하는 것이 쿼리 성능에 영향을 줄 수 있어요.

코디네이터에 대해 이 속성을 false로 설정하는 것을 권장해요. 예시는 구성 속성을 참고하세요.

Datasource 구성

datasources 구성 속성이 더 이상 사용되지 않아요. etc/config.properties 파일에서 제거해 주세요. datasources 구성은 이제 node-scheduler.include-coordinator 속성([코디네이터에서 작업 스케줄링 방지] 참고)에 따라 자동으로 생성돼요.

Raptor 커넥터

Presto에는 이전에 native 커넥터라고 불렸고 주 Presto 코드와 얽혀 있던(커넥터가 생기기 전에 작성됨) 매우 실험적인 커넥터가 있어요. 이 커넥터는 이제 raptor로 이름이 바뀌었고 별도 플러그인에 있어요.

이 리팩터링의 일환으로 presto-metastore.db.typepresto-metastore.db.filename 구성 속성은 더 이상 존재하지 않으며 etc/config.properties에서 제거해야 해요.

Raptor 커넥터는 Presto가 인-메모리 데이터에 사용하는 것과 같은 레이아웃을 사용해 컬럼 형식으로 Presto 머신에 데이터를 저장해요. 현재는 복제 부족, 테이블 삭제 시 스토리지 회수 불가 등 주요 제한이 있어요. 실험, 임시 테이블, 느린 커넥터의 데이터 캐싱 등에만 적합해요. 메타데이터와 데이터 형식은 릴리스 간에 호환되지 않는 방식으로 바뀔 수 있어요.

커넥터를 실험해 보고 싶다면 코디네이터와 워커 양쪽에 다음 내용이 포함된 etc/catalog/raptor.properties 같은 카탈로그 속성 파일을 만드세요:

connector.name=raptor
metadata.db.type=h2
metadata.db.filename=var/data/db/MetaStore

머신러닝 함수 (Machine learning functions)

Presto에 이제 머신러닝 모델(분류기와 회귀기)을 훈련하고 사용하는 함수가 있어요. 이는 현재 개념 증명(proof of concept)일 뿐이며 프로덕션 사용 준비가 되지 않았어요. 사용 예시는 다음과 같아요:

SELECT evaluate_classifier_predictions(label, classify(features, model))
FROM (
    SELECT learn_classifier(label, features) AS model
    FROM training_data
)
CROSS JOIN validation_data

위 예시에서 label 컬럼은 bigint이고 features 컬럼은 기능 식별자에서 기능 값으로의 맵이에요. 기능 식별자는 정수여야 하며(JSON이 맵 키에 문자열만 지원하므로 문자열로 인코딩됨) 기능 값은 숫자(부동소수점)예요.

가변 길이 바이너리 타입 (Variable length binary type)

Presto가 이제 가변 길이 바이너리 데이터를 위한 varbinary 타입을 지원해요. 현재 지원되는 유일한 함수는 length()예요. Hive 커넥터는 이제 Hive BINARY 타입을 varbinary에 매핑해요.

일반 (General)

  • 누락된 연산자 timestamp with time zone - interval year to month를 추가했어요.
  • 샘플링된 쿼리 설명(sample query explain)을 지원해요.
  • 버려지고 취소된 쿼리에 대한 JMX 통계를 추가했어요.
  • 플러그인의 parent-first 클래스 목록에 javax.inject를 추가했어요.
  • 이벤트 로깅의 오류 분류를 개선했어요.

더 알아보기 (Learn more)

Trino 0.69의 변경 사항을 더 자세히 확인하고 싶다면 공식 릴리스 노트를 참고해 주세요.