개요
2023.02.21 - [Superset] 설치 및 실행
2023.02.22 - [Superset] DB 연결 (MySQL)
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/