Apache Superset

[Superset] DB 연결 (MySQL)

비번변경 2023. 2. 22. 21:11

개요

2023.02.21 - [Superset] 설치 및 실행 에서 Superset을 설치해 보았다. 이 글에서는 Superset에서 시각화할 데이터가 저장된 데이터베이스 연결을 해보도록 한다. 사용할 데이터베이스는 AWS RDS MySQL 8.0.28 엔진이다.

 

 

데이터베이스 드라이버 설치

Superset은 SQLite 외의 다른 데이터베이스를 연결하여 사용할 때는 드라이버 설치가 필요하다.

MySQL의 경우 Python mysqlclient 라이브러리 설치가 필요하다.

pip install mysqlclient

 

💡 ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output. 발생 시

mysqlclient 설치 시 아래와 같이 mysql_config not found라는 에러가 발생할 수 있다. mysqlclient가 의존하는 라이브러리인 libmysqlclient-dev가 설치되어 있지 않아 발생한 오류다.

Ubuntu 20.04의 경우 아래 명령어로 설치한다.

apt install libmysqlclient-dev

 

 

데이터베이스 연결

1. Databases 페이지로 이동

Superset 접속 후 상단바에서 Data > Databases 이동한다.

기본 구성인 경우 이동하면 sqlite examples 데이터베이스를 확인할 수 있다.

 

2. Connect a database

Databases 페이지에서 '+ DATABASE' 버튼을 클릭한다.

또는 우측 상단 + 버튼 > Data > Connect database로 접근할 수 있다.

또는 Settings > Data > Database Connections로 접근할 수 있다.

 

3. 연결할 database 엔진 선택

연결할 수 있는 데이터베이스 유형을 확인할 수 있다. 이 글에서는 기본 구성인 SQLite, 드라이버를 설치한 MySQL과의 연결이 가능하다. 상단의 아이콘을 선택하거나 하단의 SUPPORTED DATABASES에서 연결할 데이터베이스 엔진을 선택한다.

 

4. 접속 정보 설정

db username, passwd, host, database와 같은 연결할 데이터베이스의 접속 정보를 기재한다.

하단의 Connect this database with a SQLAlchemy URI string instead를 클릭해 설정해도 된다. 공식 문서는 SQLAlchemy URI 위주로 작성되어 있는 것 같다.

TEST CONNECTION 버튼을 클릭에 정상적으로 연결되는지 확인한다.

 

5. 데이터베이스 연결

접속 정보를 다 기재했으면 CONNECT 버튼을 클릭해 데이터베이스를 연결한다. 연결된 데이터베이스가 페이지에 표시된 것을 확인할 수 있다.

 

 

참고 문서

https://yenoss.github.io/2017/09/11/pythonMysql_conf.html

https://superset.apache.org/docs/databases/installing-database-drivers

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

2. Superset 슈퍼셋 - DB에 연결하기