Superset이란? + Docker로 설치하기

2023. 5. 26. 16:08· #️⃣ Data Engineering/BI,DashBoard
목차
  1. 1. 특징
  2.  
  3. 2. 구조 
  4.  
  5. 3.  🌟용어🌟
  6.  
  7. 4. 설치/사용 방법
  8. (1) Preset.io 에서 이용하기 
  9.  
  10. (2) Docker로 설치하고 사용하기
  11. Docker Compose로 Superset 로컬 설치 in Windows10

지난 포스팅에 이어서, superset에 대해 더 자세히 알아보고 docker로 설치해보겠다.


Superset이란?

Airbnb에서 시각된 오픈소스로, Airflow를 만든 Maxim이 같이 시작한 오픈소스이다. 

  • 깃허브 (https://github.com/apache/superset) 있음
  • 상용화 서비스 시작됨
    • Maxim이 직접 창업했으며 https://preset.io 가서 계정 생성 후 실습 가능함

1. 특징

  • 다양한 Visualization 가능하며 직관적인 UI
  • 대시보드 공유
  • 보안과 권한 제어 기능 제공
  • SQLAlchemy와 연동되어, SQLAlchemey와 연동되는 모든 데이터베이스를 사용가능함 ✨
  • Druid.io연동하여 실시간 데이터 시각화 가능
  • API와 플러그인이 있어 확장성 좋음 
  • role 기반으로 대시보드의 사용자 권한 지정 가능함✨

 

2. 구조 

  • python으로 제작됨
  • 웹UI는 Flask와 React JS로 구성됨
  • 기본적으로 sqlite를 메타데이터 데이터베이스로 사용함
    • 이는 병렬성 떨어지기때문에 Mysql나 PostgreSQL를 주로 사용함
  • Redis를 캐싱 레이어로 사용하여 성능 최적화함 ✨
  • SQLAlchemy가 백엔드 DB 접근에 사용됨✨

 

3.  🌟용어🌟

Superset에서는 테이블을 Dataset이라고 표현한다 

Database : 관계형 데이터베이스 (백엔드 DB) (ex. Redshift)

Dataset : 테이블

Dashboad/chart : Dashboard는 하나 이상의 chart로 구성됨

 

4. 설치/사용 방법

Superset은

    (1) Preset.io 에 가서 온라인으로 사용하거나 혹은

    (2) 오픈소스이므로 git에서 다운받아서 docker로 실행하는 방법

총 2가지가 있다.

  • Docker에 익숙하고 개인컴퓨터 사양이 충분히 좋다면 Docker가 더 좋다.

 

(1) Preset.io 에서 이용하기 

https://docs.preset.io/docs/about-workspaces

  • Preset.io는 회사 이메일이 있어야만 무료플랜 사용가능하다
  • Preset.io은 Superset 오픈소스를 기반으로 변경된 버전을 사용하는 형태로 오픈소스 버전과 크게 다르지 않다.
  • Preset의 Workspace는 하나의 Superset에 해당하고, 여러 Workspace를 넘나드는 사용자와 팀 설정이 가능함
    • 무료 계정은 workspace 1개까지만 가능
    • workspace 안에는 여러개의 database 만들고 작업할 수 있음
      • 여러 database를 연동할 수 있으며, redshift와 연동시에는 옵션에서 'Amazon Redshift' 선택하면 된다.

 

(2) Docker로 설치하고 사용하기

Preset.io에서 온라인으로 무료로 사용하려면 , 회사 계정이 필요하므로

docker를 이용하여 설치해보겠다.

 

나는 이미 Windows10에 Docker가 설치되어 있기에 바로 docker compose로 생성해보겠다.

 

Docker Compose로 Superset 로컬 설치 in Windows10

1. 작업 환경 폴더 생성 및 이동

cd E:\\docker\\superset

 

2. git 클론

git clone https://github.com/apache/superset.git
cd superset

3. docker-compose 명령어 실행

docker-compose -f docker-compose-non-dev.yml pull
docker-compose -f docker-compose-non-dev.yml up

 

‼ docker compose pull하고 up 하는데 시간 많이 드니까, 실행해두고 다른 이론 먼저 학습하는 것을 추천한다!

 

만약 최신 버전/특정 버전을 다운로드하려면 아래를 먼저 실행한다.

git checkout 1.4.0

참고로 실습에 사용한 Superset 버전은 최신버전 2.1.0이다.

*docker-compose란 여러 컨테이너로 구성된 애플리케이션을 정의하고 실행하기 위한 도구로, 단일 호스트에서 여러 컨테이너 간의 관계, 설정 및 서비스 구성을 관리할 수 있다.

 

 

4. 접속하기

http://localhost:8088 으로 웹 UI 로그인 가능하다.

첫 화면 - 디폴트 계정은 admin,admin
메인홈

  • 오픈소스 버전에는 database 연결할때 redshift가 없기때문에, redshift와 호환이 되는 postgresql을 선택하여 redshift 계정과 연동한다.
  • 그리고 참고로 superset에 연결하고 나면 테이블 정보가 뜨는데, 이는 데이터를 모두 갖고 있는게 아니고 우리가 데이터를 사용할때 그때 redshfit에서 데이터를 불러옴

 


Superset에 대해 알아보고 Docker로 설치해서 잘 실행되는 것까지 확인했다.

이제는 실전이다.!

 

AWS Redshift의 데이터를 가져와 Superset으로 chart2개를 만들고 대시보드 만드는 실습을 진행해보자 🙌

실습은 다음 포스팅에 이어 작성하겠다!

 

저작자표시 비영리 동일조건 (새창열림)

'#️⃣ Data Engineering > BI,DashBoard' 카테고리의 다른 글

Superset의 시각화 Chart 종류  (0) 2023.05.30
Superset에서 Redshift테이블을 시각화하기(KPI 대시보드)  (0) 2023.05.26
시각화 툴과 종류 알아보기  (0) 2023.05.26
  1. 1. 특징
  2.  
  3. 2. 구조 
  4.  
  5. 3.  🌟용어🌟
  6.  
  7. 4. 설치/사용 방법
  8. (1) Preset.io 에서 이용하기 
  9.  
  10. (2) Docker로 설치하고 사용하기
  11. Docker Compose로 Superset 로컬 설치 in Windows10
'#️⃣ Data Engineering/BI,DashBoard' 카테고리의 다른 글
  • Superset의 시각화 Chart 종류
  • Superset에서 Redshift테이블을 시각화하기(KPI 대시보드)
  • 시각화 툴과 종류 알아보기
HyeM207
HyeM207
"Reflections and Growth Through Records" 회고와 기록을 통한 성장으로
HYEM's Storage"Reflections and Growth Through Records" 회고와 기록을 통한 성장으로
HyeM207
HYEM's Storage
HyeM207
  • ALL (115)
    • #️⃣ CS (Computer Science) (5)
      • Database (2)
      • SQL (2)
      • Git (1)
    • #️⃣ Data Engineering (43)
      • Airflow (18)
      • Spark (8)
      • Snowflake (2)
      • BI,DashBoard (4)
      • ELK Stack (2)
      • Hadoop (5)
      • Kafka (4)
    • #️⃣ Cloud&Container (16)
      • AWS (8)
      • GCP (1)
      • Docker (6)
      • Kubernetes (1)
    • #️⃣ Project 및 개발일지 (37)
      • Mini Project (5)
      • 개발일지 (9)
      • Algorithm 문제 풀이 (20)
    • #️⃣ 책 리뷰 (4)
    • #️⃣ 회고글&프로젝트 후기 (10)

공지사항

인기 글

최근 댓글

블로그 메뉴

  • 홈
  • 태그
  • 방명록
hELLO · Designed By 정상우.v4.2.2
HyeM207
Superset이란? + Docker로 설치하기
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.