개요
2023.03.27 - [Trino] Hive Connector에서 Trino의 Hive 커넥터에 대한 개념을 정리해 보았다.
이 글에서는 구성 방법을 정리해두려고 한다.
요구 사항
Trino Hive 커넥터를 사용하기 위해서는 아래와 같은 사항이 필요하다.
- Apache Hadoop HDFS 2.x 또는 3.X
- HMS(Hive Metastore) 또는 AWS Glue data catalog와 같은 HMS 구현
- Coordinator와 Worker는 HMS 및 스토리지 시스템에 접근할 수 있어야 한다.
필요하다면 아래의 글을 참고하여 구성한다.
2023.03.19 - [Ubuntu/Hadoop] Single Node/Standalone 설치
2023.03.23 - [Hive] Metastore 설치 및 실행
Connector 구성
Connector는 TRINO_HOME/etc/catalog 경로 아래의 Catalog 속성 파일(*.properties)에 원하는 커넥터를 마운트 하는 방식으로 구성한다. 아주 기본적인 구성은 아래와 같다.
connector.name=hive
hive.metastore.uri=thrift://<HIVE METASTORE SERVER>:9083
연결 확인
Trino 서버를 시작 또는 재시작하여 생성한 Catalog를 인식하는지 확인한다.
Trino 서버 시작 또는 재시작
# 시작
$TRINO_HOME/bin/launcher start
# 재시작
$TRINO_HOME/bin/launcher restart
CLI 접속
trino --server <TRINO 서버 주소>:<PORT>
# 예시
trino --server localhost:8080
Calalog 확인
SHOW CATALOGS;
Hive Catalog 내 데이터 확인
정상적으로 연결된 것을 확인할 수 있다.
Schema 생성
아래의 SQL 문법을 참고하여 Schema 생성도 시도한다.
CREATE SCHEMA [ IF NOT EXISTS ] schema_name
[ AUTHORIZATION ( user | USER user | ROLE role ) ]
[ WITH ( property_name = expression [, ...] ) ];
-- 예시
CREATE SCHEMA hive.schema_create_test;
혹시
failed: Unable to create database path file:/user/hive/warehouse/schema_create_test.db
라는 에러와 함께 Schema가 생성되지 않았다면 아래 글을 참고하여 해결할 수 있다.
2023.03.28 - [Hive/HMS] Unable to create database path file:/user/hive/warehouse/*. db
이상이 없으면 스키마가 잘 생성된다.
참고 문서
https://trino.io/docs/current/sql/create-schema.html