주제
1. Superset 소개
2. Docker 소개
3. Docker와 Superset을 이용한 MAU와 코호트 차트 실습
Superset 소개
- Airflow를 만든 사람이 만든 오픈소스 대시보드
- https://preset.io/ → 무료 계정을 생성하고 사용 가능 (회사 이메일만 가능!!!!)
- 다양한 형태의 시각화와 손쉬운 인터페이스 지원
- 대시보드 공유 지원
- 엔터프라이즈 수준의 보안과 권한 제어 기능 제공
- SQLAlchemy와 연동
- API와 플러그인 아키텍처 제공으로 인한 확장성이 좋음
Superset 구조와 용어
- 기본으로 sqlite를 메타데이터 데이터베이스로 사용
- Redis를 캐싱 레이어로 사용
- Database == 관계형 데이터베이스 (예. Redshift)
- Dataset == 테이블
- Dashboard는 하나 이상의 chart로 구성
Docker 소개
- Preset.io는 회사 이메일이 존재해야만 사용이 가능하기 때문에 없는 사람들을 위한 방법이 도커를 사용하는 것
- 단, 개인 컴퓨터의 사양이 좋아야 함 (램과 cpu를 엄청 쓰기 때문)
- Docker는 특정 프로그램과 필요한 기타 소프트웨어들을 하나의 패키지로 만듬으로써 해당 프로그램의 개발과 사용을 도와주는 오픈소스 플랫폼
- 이 패키지를 Docker Image라는 파일 시스템 형태로 만든다
- 이 Image는 공유 가능
- Docker Image 공유소를 Docker Container(Docker Hub)라고 함
- Docker Image를 실행시킨 것을 Docker Container라고 하며, 이 안에 해당 프로그램이 실행됨 (단, 이때 도커 엔진이 실행되어있어야 함)
Docker 용어
- Docker Image : 프로그램이 필요로 하는 모든 환경 + 응용 프로그램을 포함한 소프트웨어 패키지
- Docker Container : 도커 이미지를 도커 엔진에서 실행한 것을 뜻함. 실행만 하면 다양한 소프트웨어들을 충돌없이 실행 가능
Docker 설치 (맥 기준)
- 도커 맥 데스크탑을 설치한 후 접속하여 로그인.
- 설정에 램 크기를 설정 (4GB 설정함)
- 수퍼셋을 클론할 폴더를 하나 만들고 터미널에서 cd로 이동
- Superset 레포를 클론
git clone https://github.com/apache/superset.git
- 설치하는 데 시간이 좀 걸림

- 이후 superset이라는 폴더가 생성됨. 그곳으로 이동 후 2개의 명령 실행
docker-compose -f docker-compose-non-dev.yml pull
docker-compose -f docker-compose-non-dev.yml up

- 이것도 마찬가지로 시간이 좀 걸림. 설치가 완료가 되면 도커 데스크탑으로 가보면 슈퍼셋이 로드되어있음(
노트북이 비명질러도 일단 기다리기) - 웹 UI는 localhost:8080으로 접속
Docker와 Superset을 이용한 MAU와 코호트 차트 실습
1. Database Connection 설정
- Setting → Database Connections → PostgreSQL → Redshift 정보를 넣고 연결

- 데이터베이스 연결이 완료되면 데이터 셋 메뉴로 가서 방금 만든 데이터베이스로 새로운 데이터셋을 만들면 된다
- Redshift에 있는 테이블들이 불러와짐
- 데이터 셋이 만들어지면 차트 타입을 선택할 수 있는 화면이 나옴

2. MAU 차트 만들기
- MAU 차트는 라인 차트로 만들기 때문에 Line Chart 선택
- columns, rows, metrics 등등에 필요한 필드를 넣으면 차트가 자동으로 생성된다

3. 코호트 차트 만들기
- 코호트 차트는 새로운 데이터셋을 사용하여 pivot 테이블 형식으로 만든다
- 이때 METRICS에 적용할 함수는 직접 SQL문을 작성하여 쓰는 것이 좋다


- 완성된 차트의 모습 :

- 이제 이 차트를 각각 새로운 대시보드에 저장을 한 후 대시보드를 클릭하면, 한 눈에 볼 수 있다.

느낀점
도커는 말로만 들어보고 이번에 처음 해봤는데 의외로 간단해서 놀랐다. 근데 엔진 실행할 때 거의 3기가의 램을 사용해서 다음부터는 데스크탑으로 돌려야겠다는 생각을 했다..(노트북이 비명지르는데 너무 미안했고) 아무튼 차트 만들기는 저번에 잠깐 Tableau 했을 때와 크게 다르지 않아서 괜찮았다. 확실히 시각화 툴을 쓰면 훨씬 편하게 시각화 작업을 할 수 있다는 걸 느꼈다.
'Data Science > TIL (Today I Learned)' 카테고리의 다른 글
| 프로그래머스 데이터분석 데브코스 1기 - 46일차 (1) | 2024.01.29 |
|---|---|
| 프로그래머스 데이터분석 데브코스 1기 - 45일차 (1) | 2024.01.26 |
| 프로그래머스 데이터분석 데브코스 1기 - 43일차 (0) | 2024.01.24 |
| 프로그래머스 데이터분석 데브코스 1기 - 42일차 (0) | 2024.01.23 |
| 프로그래머스 데이터분석 데브코스 1기 - 41일차 (0) | 2024.01.22 |