아파치 슈퍼셋(Apache Superset)은 오픈 소스 데이터 탐색 및 시각화 도구이다. 데이터베이스를 연결하여 슈퍼셋 인터페이스 상에서 쿼리할 수 있고, 그 결과를 차트로 만들어 대시보드에 추가할 수도 있다. 도커 컴포즈(Docker Compose)를 이용해 슈퍼셋을 설치하고 실행하는 방법을 알아보자. 이미 운영중인 구글 빅쿼리(Google BigQuery) 데이터베이스를 슈퍼셋에 연동하고 차트를 만들고 이를 대시보드에 추가하는 방법도 함께 살펴보자.
아파치 슈퍼셋(Apache Superset) 소개
아파치 슈퍼셋은 태블로나 파워BI 같은 오픈소스 BI 툴이다. 슈퍼셋의 주요 특징은 무료라는 점, 시각화가 쉽다는 점 그리고 데이터베이스 연동이 쉽다는 점이다. 지원하는 DBMS의 종류도 여러가지가 있다.
슈퍼셋 대시보드 예시
슈퍼셋 설치 시 대시보드 예제가 기본적으로 생성되어 있다. 이 중 COVID Vaccine 관련 대시보드를 열어보면 다음과 같은 다양한 차트들을 확인할 수 있다.
현재 슈퍼셋에서 지원하는 DBMS 종류
PostgreSQL, Google BigQuery, snowflake, MySQL, Amazone Redshift 등 매우 다양한 DBMS를 지원한다.
지원되는 데이터베이스 및 종속성에 접속하면 실제 슈퍼셋이 지원하는 모든 데이터베이스의 종류와 종속성을 구체적으로 확인할 수 있다.
슈퍼셋 공식 홈페이지와 깃허브 저장소
아래 슈퍼셋 공식 홈페이지에 가면 슈퍼셋 관련 공식문서 등 슈퍼셋 관련 구체적인 정보를 확인할 수 있다. 깃허브 저장소에 가면 슈퍼셋 고나련 소스 코드가 공개되어 있다.
- Superset 공식 홈페이지: https://superset.apache.org/
- Superset 깃허브 저장소: https://github.com/apache/superset.git
슈퍼셋 깃허브 저장소 클론
우분투 환경에서 적당한 경로에 git clone 명령으로 슈퍼셋 저장소를 클론한다.
git clone <https://github.com/apache/superset.git>
배포 버전 설정
클론 한 superset 경로로 이동 후 git checkout 명령으로 슈퍼셋 배포 버전을 설정한다. 예시에서는 깃허브 Releases 페이지를 참고해서 3.1.2 버전을 선택했다. git status 명령을 실행하면 3.1.2 버전의 커밋을 가리키고 있는 것을 확인할 수 있다.
cd superset
git checkout 3.1.2
git status
HEAD detached at 3.1.2
nothing to commit, working tree clean
Superset Docker Container 실행
다음 도커 컴포즈 명령으로 슈퍼셋 컨테이너를 실행한다.
sudo docker compose -f docker-compose-non-dev.yml up -d
(선택) Superset 저장소 Submodule 설정
별도 깃허브 저장소에 슈퍼셋 공식 저장소를 클론한 상황이라 다음과 같이 슈퍼셋 공식 저장소를 내 저장소의 서브모듈로 추가하는 명령을 추가했다. 필수적인 내용은 아니니 건너 뛰어도 된다.
git rm --cached superset
git submodule add <https://github.com/apache/superset> superset
Python-BigQuery 의존성 설치
슈퍼셋은 매우 다양한 DBMS를 지원하지만, 그 중에서 자주 사용하는 구글 빅쿼리를 슈퍼셋에 연결하기 위해 관련 의존성을 설치한다. superset_app 이라는 이름으로 실행 중인 컨테이너에 접속해 sqlalchemy-bigquery 파이썬 라이브러리를 설치한다.
docker ps
sudo docker exec -it superset_app /bin/bash
pip install sqlalchemy-bigquery
컨테이너를 빠져나와 도커 컴포즈 재시작 명령을 실행한다.
docker-compose restart
슈퍼셋 애플리케이션 실행
웹 브라우저에서 http://<Public IP>:8088 에 접속하면 슈퍼셋 웹 UI가 실행된다. 슈퍼셋을 최초 설치하면 USERNAME과 PASSWORD가 모두 admin으로 설정되어 있다. 실제 운영 환경에서는 반드시 로그인 직후 PASSWORD를 변경 후 사용해야 한다.
로그인 후 우상단의 Settings 클릭 후 Info로 이동하면 PASSWORD를 변경할 수 있다.
BigQuery Database 연동
- Settings – Database Connections 이동
- DATABASE 버튼 클릭
- Google BigQuery 선택
- Upload JSON file 선택
- Choose File 선택 후 BigQuery 인증 JSON 파일 업로드
JSON 파일 업로드를 마친 후 Connect 버튼 클릭하면 빅쿼리가 슈퍼셋에 연결된다.