Apache Superset

[Superset] Trino 연결

비번변경 2023. 3. 5. 22:44

개요

2023.02.21 - [Superset] 설치 및 실행

2023.02.22 - [Superset] DB 연결 (MySQL)

2023.03.02 - [Trino] 설치/구성/실행

2023.03.04 - [Trino] MySQL Connector 추가

 

위 글에서 Superset과 Trino를 설치해 보고 각각의 소프트웨어로 MySQL Database에 연결해 보았다.

이 글에서는 Trino와 Superset을 연결하여 사용할 수 있도록 구성해보고자 한다.

Superset에서도 직접 MySQL에 접근할 수 있지만, 구성 테스트이므로 Trino를 통해서 MySQL에 접근할 것이다.

 

 

요구 사항

Trino 352 이상의 버전이 필요하다. 이 글에서 설치된 Trino는 407이므로 이상 없이 진행할 수 있다.

 

 

드라이버 설치

superset이 설치된 python 환경에 trino 클라이언트 설치가 필요하다. 아래의 명령으로 설치한다. superset을 python 가상 환경에 설치했다면, superset을 설치한 가상환경을 활성화한 후 설치해야 한다.

pip install trino

 

 

Database 추가

2023.02.22 - [Superset] DB 연결 (MySQL) 내용과 중복되는 부분은 작성하지 않는다. 필요시 해당 글을 참고하도록 한다.

 

1. Connect a database 접근

아이콘으로 표시되지는 않지만 하단의 SUPPORTED DATABASES에서 Trino 항목을 확인할 수 있다.

 

2. Database 정보 설정

데이터베이스 이름 및 SQLALCHEMY URI 등의 정보를 지정한다.

Trino의 Catalog가 Superset에서는 Database에 해당한다. Catalog 단위로 Database를 생성할 수 있으며, SQLALCHEMY URI 형식은 아래와 같다. password가 설정되어 있지 않다면 생략한다.

trino://{username}:{password}@{hostname}:{port}/{catalog}

# 예시
trino://admin@localhost:8080/mysql

접속 정보에 이상이 없는지 연결 테스트 후 데이터베이스를 생성한다.

 

3. 생성한 Database 확인

데이터베이스 목록에서 생성한 Trino-mysql 데이터베이스를 확인할 수 있다.

 

 

 

데이터 확인

참고 : 2023.02.23 - [Superset] 데이터 확인 및 쿼리 실행

 

SQL Lab에서 Trino-mysql 데이터베이스를 이용해 Trino mysql 카탈로그 내 데이터를 확인한다.

확인할 스키마와 테이블을 선택하면 별도의 SQL을 실행하지 않아도 데이터를 확인할 수 있다.

SQL도 실행하여 정상적으로 동작하는지 확인한다.

SELECT *
FROM study.test
WHERE id > 5000000
;

 

 

참고 문서

https://superset.apache.org/docs/databases/trino/