먼저 Superset이 뭔지 왜 사용하는지 설명합니다.
설치부터 보실분은 아래 구분선 부터 보시면 됩니다.
- Superset(슈퍼셋)의 정의 및 특징:주요 특징 및 장점:
- 오픈소스 & 무료
- 누구나 자유롭게 사용 가능하고 커스터마이징도 자유로움.
- 다양한 데이터베이스 지원
- MySQL, PostgreSQL, BigQuery, SQLite, Hive 등 대부분의 데이터베이스 연결 가능.
- 풍부한 시각화 기능
- 바 차트, 라인 차트, 히트맵, 산점도, 지도 시각화 등 다양한 시각화 유형 지원.
- 인터랙티브 대시보드
- 대시보드를 통해 여러 데이터를 동적으로 상호작용하며 분석 가능.
- 빠른 분석 및 협업 용이성
- SQL 에디터 내장, 직관적인 인터페이스로 데이터 분석 속도가 빠르고, 팀 협업도 편리.
- 확장성과 사용자 지정 기능
- 사용자의 필요에 맞게 확장 및 플러그인 개발 가능.
슈퍼셋(Superset) vs. 태블로(Tableau) 차이점:라이센스 오픈소스(무료) 상용 라이센스(유료)설치 및 운영 서버 설치 및 관리 필요 클라우드 또는 로컬 설치 유연성 및 확장 유연성, 확장성 높음 제한된 커스터마이징 난이도 초반에 다소 기술적 지식 요구(SQL, 서버 설정) 직관적이며 쉬운 사용 기능 충분한 시각화 기능 제공 매우 다양한 고급 기능 제공 - 오픈소스 & 무료
- 구분Superset (슈퍼셋)Tableau (태블로)
- Apache Superset은 Airbnb에서 처음 개발한 오픈소스 BI(비즈니스 인텔리전스) 도구로, 데이터 분석 및 시각화를 간편하게 수행하도록 도와줍니다.
- 슈퍼셋을 사용하는 이유 및 적합한 경우:
- 오픈소스로 비용 절감이 필요한 스타트업 및 소규모 기업
- 데이터베이스와 연계된 빠르고 유연한 데이터 분석 필요
- 팀이 SQL과 같은 기술에 익숙하고 서버 관리가 가능한 환경
- 특정 요구에 맞게 시각화를 커스터마이징하거나 API 연동이 필요한 경우
- 개발 및 데이터 엔지니어링 역량을 갖춘 팀
- 비용 효율성 및 자유로운 확장성 중요
- SQL로 직접 데이터를 쿼리하고 분석하려는 환경
- 오픈소스 생태계의 도구를 선호하는 팀
- 슈퍼셋의 사용 예시:
- 기업 내부 대시보드 제작 및 공유
- 웹 기반 인터랙티브 보고서 제공
- 데이터 엔지니어링 및 분석가가 데이터를 실시간 분석하고 모니터링하는 환경 구축
설치 환경
- Anaconda 가상환경에 Superset 설치 (왜 가상환경에 설치해야되는지는 여기선 설명하지 않겠습니다.)
- 아나콘다설치 글을 참고하세요
1. 가상환경 생성 및 활성화
1-1. 새로운 가상환경 생성 (예: superset_env)
1-2. 가상환경 활성화
2. Superset 설치
2-1. pip 업그레이드
Superset설치 중 오류 Windows에 Visual C++ 빌드 도구가 설치되어 있지 않아서 설치가 실패함
해결 방법
Visual C++ Build Tools 설치
- 아래 주소 접속 또는 2번에 파일을 다운받으세요.
https://visualstudio.microsoft.com/visual-cpp-build-tools/ - "Download Build Tools" 클릭
아래 파일이 다운로드됨.
파일 실행시키면 아래 설치 창이 뜨면서 설치진행됨
위에 창이뜨면 위에 처럼 선택체크 아래항목이 포함되어 있다.
- C++ build tools
- 포함된 항목: MSVC v14.x, Windows 10 SDK, CMake, Python development support
윗 화면 오른쪽 아래 설치를 시작하면 아래 창으로 바뀌면서 설치 시작된다.
설치 프로그램 실행 후, 아래 항목 체크:
- C++ build tools
포함된 항목: MSVC v14.x, Windows 10 SDK, CMake, Python development support
설치 완료 후 PC 재부팅
설치 이후 다시 Superset 설치 시도 → 아래 2-2. Superset 설치 로
가상환경 활성화 후 다음 명령 실행:
설치 도중 오류 없이 진행되면 성공!
4. 대안 (Build 없이 설치하고 싶을 때)
만약 C++ 빌드 도구 설치가 어렵거나 시간이 없다면, python-geohash를 제외한 버전으로 설치하거나, 미리 빌드된 wheel 파일을 사용하는 방법도 있어. 다만, Superset에서는 일부 기능(지도 관련 기능 등)이 제한될 수 있음.
문제 | python-geohash 설치 시 C++ 컴파일 필요, 도구 없음 |
해결 | Visual C++ Build Tools 설치 후 다시 시도 |
링크 | https://visualstudio.microsoft.com/visual-cpp-build-tools |
2-2. Superset 설치
설치가 완료되면 superset 명령어가 사용 가능해짐
(아래 처럼 설치된항목중 apache-superset 이 보임)
Superset 명령어 동작 확인
Superset은 CLI 도구를 포함하므로 다음 명령어가 작동하면 정상 설치된 것:
버전이 출력되면 설치 성공. 아래 예시
duckdb 드라이버설치
pip install duckdb-engine
설치 후 Superset 초기 설정 (한 번만 필요)
설치 확인이 끝났으면 다음 순서로 초기 설정까지 할 수 있다:
- FLASK_APP 설정
set FLASK_APP=superset
superset_config.py 파일 생성
python -c "import secrets; print(secrets.token_urlsafe(32))"

WJbqd4ke7PtPZ-vPs4wSpjjPedMugeRKDcqugv.....로 나타난것이 보안 키(SECRET_KEY)
1. superset_config.py 파일 만들기
- 파일 생성 위치:
예시로 C:\Users\onesa\superset_config.py 경로에 만들자. - 파일 내용:
메모장 또는 VS Code를 열고 아래처럼 작성: SECRET_KEY 는 본인의 키를 넣어줘야됨
SECRET_KEY = '-WJbqd4ke7PtPZ-vPs4wSpjjPedMugeRKDcqugv....'
FEATURE_FLAGS = {
"ALLOW_FILE_UPLOAD": True,
"ENABLE_EXPLORE_DRAG_AND_DROP": True,
"ALLOW_EXCEL_UPLOAD": True,
"ALLOW_PARQUET_UPLOAD": True,
"ALLOW_ORC_UPLOAD": True,
}
ALLOWED_EXTENSIONS = {'csv', 'tsv', 'txt', 'xls', 'xlsx', 'json', 'gz'}
DATA_UPLOAD_MAX_SIZE = 100 * 1024 * 1024 # 최대 100MB
위의 각줄의 의미는 아래와 같습니다.
- 아 래 -
ALLOW_FILE_UPLOAD: 전체 업로드 기능 켜기
ALLOW_EXCEL_UPLOAD: .xlsx 엑셀 업로드
ALLOW_PARQUET_UPLOAD: .parquet 파일 업로드
ALLOW_ORC_UPLOAD: .orc 파일 업로드 (Columnar format)
ENABLE_EXPLORE_DRAG_AND_DROP: 최신 탐색 UI도 활성화 (선택)
메뉴에서 파일(File) → 다른 이름으로 저장(Save As) 클릭
저장 위치는 예: C:\Users\onesa
파일 이름: superset_config.py
파일 형식: 모든 파일 (*.*)
인코딩: UTF-8 그대로 둬도 됨다른이름으로 저장에서 파일형식을 *.*으로 하고
파일이름을 확장자까지 넣어줘야된다. 만약 확장자가 안보인다면 파일탐색기에 "옵션" 폴더옵션 > 보기 > 에서 "숨김 파일 및 폴더" 옵션에서 "숨김 파일, 폴더 및 드라이브 표시"에 체크해야 된다.
다른 이름으로 저장 (Save As)
저장 잘 됬는지 확인 방법
해당 폴더에 superset_config.py 확장자가 보이는 파일 있으면 ok 이때 메모장에 확장자를 모든파일*.*로 해야보임.
2. Superset이 이 설정 파일을 인식하도록 환경 변수 설정
3. 다시 Superset 초기화 명령 실행 한번만 해주면됨.
마지막에 위에 화면 처럼 뜨면 ok
다음 명령어 한번만 해주면됨
Username [admin]: ← 원하는 사용자 이름 입력 (예: admin, steven 등) 기억하고 있을 것
User first name [admin]: ← 이름 (예: Seounghwan)
User last name [user]: ← 성 (예: Park)
Email [admin@fab.org]: ← 이메일 (실제 이메일 or 아무 이메일)
Password: ← 로그인용 비밀번호 입력(공백은 안됨 특수문자(@, #, $, ! 등)) 기억하고 있을 것
Repeat for confirmation: ← 같은 비밀번호 다시 입력
아래 녹색글씨가 나타나면 완벽하게 준비 : Superset 관리자 계정이 성공적으로 생성되었다는 뜻
그다음 초기화 진행해야됨. (초기화를 안하고 지나가서 2시간동안 삽질했음 ㅠㅠ)
그럼 아래 화면처럼 오른쪽 상단에 + 가 보인다 이것이 보여야 데이터를 불러올수 있다.
안그러면 젤 아래 Superset창 처럼 + 메뉴가 안보임.ㅜㅜ
다음 단계: Superset 실행
superset run -p 8088 --with-threads --reload --debugger
웹브라우저에 http://localhost:8088/login/
또는 포트를 바꿔서 실행 둘중 하나 선택하면 됨.
(눈치 채셨죠? 실행시에 적어주는 포트와 웹브라우저 주소는 같아야됩니다.)
superset run -p 8888 --with-threads --reload --debugger
웹브라우저에 http://localhost:8888/login/
정상적으로 작동메시지
이 메시지가 뜬 상태에서는 Superset이 실행 중이므로,
웹 브라우저에서 http://localhost:8088 접속하면 UI를 볼 수 있다.
이 상태에서 Anaconda Prompt는 계속 열어둬야 됨 → 이게 서버 역할을 하니까!
Superset 서버를 종료하고 싶을 때만 CTRL + C를 눌러서 창을 닫는 것임.
flask fab list-users 라고 입력해서 사용자 목록 보기에서 role : [Admin]으로 되어있어야됨.
로그 메시지 해석 (중요한 것만 요약)
→ 이미지나 PDF 스크린샷 기능(PIL, Pillow)이 빠져있다는 뜻이지만, → 대시보드 사용, 데이터 연결, 시각화에는 아무 영향 없음! → 필요 시 나중에 pip install Pillow 하면 됨. 지금은 건너뛰어도 OK.
→ 이건 개발용 서버로 실행 중이라는 경고일 뿐. → 지금처럼 개인 학습용/테스트용으로는 문제 없음.
→ --debugger 옵션 때문에 디버거가 켜졌다는 뜻. 문제 아님.
결론: 정상 실행 중
이게 뜨면 Superset 서버가 정상적으로 켜졌다는 뜻
이제 해야 할 일
웹 브라우저 열기
주소창에 다음 입력:
http://localhost:8088
아까 만든 관리자 계정 (예: steven / 비밀번호)으로 로그인
Superset 접속화면입니다. 왼쪽 프롬프트 는 실시간 현황 바뀜
Superset 서버 재시작 방법 (아래 명령어는 한줄씩 실행해야됨.)
superset_config.py 파일을 수정하거나 업데이트 할경우 실행하면 됩니다.
실행 중이던 Superset 서버 중지: Ctrl + C
set FLASK_APP=superset
set SUPERSET_CONFIG_PATH=C:\Users\onesa\superset_config.py
superset run -p 8088 --with-threads --reload --debugger
그다음 할 수 있는 것들
로그인 후엔 아래 중 원하는 걸 진행할 수 있음:
CSV 업로드해서 시각화하기
PostgreSQL, SQLite, MySQL 등 외부 DB 연결
대시보드 만들기
차트 생성 후 KPI 모니터링
여기까지가 최종 완료이며 데이터파일 부를수 있음.
아래는 Superset 초기 설정3~4.에 대한 추가 설명이니 무시해도 됩니다.
5. "데이터 소스 연결" 으로 넘어가셔도 됩니다.
3. Superset 초기 설정
3-1. DB 마이그레이션
3-2. 관리자 계정 생성 (한번만 하면됨)
사용자명, 비밀번호, 이메일, 이름 등 입력
3-3. 초기화(한번만 하면됨)
4. Superset 실행
실행 후 브라우저에서 http://localhost:8088 접속
위에서 만든 ID/PW로 로그인
5. 데이터 소스 연결
5-1. 상단 메뉴 → Data → Databases → +Database 클릭
예: SQLite, PostgreSQL, MySQL, BigQuery 등 연결 가능
5-2. SQLAlchemy URI 입력 예시
추천 예시) C:\prive\PDA1st\2025-04\MQ07_data
이후에는 아래 창 처럼 Database 에서 위에서 설정한 이름선택
Schema에서 listings.main선택
Table에서 listings선택하면 됨
데이블까지 선택했다면 밑에 하단 "Create dataset and create chart" 이 save임
6. 시각화 생성
6-1. Data → Datasets → +Dataset 클릭
테이블 선택 후 저장
6-2. Explore 버튼 클릭
다양한 차트 유형 선택 가능 (Bar, Line, Pie, Time Series 등)
6-3. Charts → Dashboards로 구성
샘플로 작성한 차트
클릭한번으로 아래와 같이 차트가 바뀜.
7. 동적 시각화를 위한 팁
Superset은 기본적으로 쿼리 결과를 실시간으로 가져와서 시각화
필터나 시간 범위 선택이 가능해 대시보드에 동적 인터랙션 제공
사용자 정의 SQL 쿼리로 복잡한 데이터 분석도 가능
전체적인 요약
conda create -n superset_env python=3.9
pip install apache-superset
superset db upgrade → create-admin → init
superset run 으로 실행
DB 연결 → 데이터셋 등록 → 차트 시각화
Superset 서버 재시작 방법 (아래 명령어는 한줄씩 실행해야됨.)
superset_config.py 파일을 수정하거나 업데이트 할경우 실행하면 됩니다.
실행 중이던 Superset 서버 중지: Ctrl + C
아래내용은 Superset 을 실행할때 마다 해주면 됩니다.
set FLASK_APP=superset
set SUPERSET_CONFIG_PATH=C:\Users\onesa\superset_config.py
superset run -p 8088 --with-threads --reload --debugger
'데이터 분석가:Applied Data Analytics > 데이터 시각화' 카테고리의 다른 글
Sankey 차트를 LTV 시각화에 사용하는 이유 (0) | 2025.04.09 |
---|---|
Superset 클라우드 시각화 2nd (0) | 2025.04.04 |
Superset 클라우드 시각화 1st (0) | 2025.04.04 |
클라우드 Superset 시각화 (0) | 2025.04.03 |
클라우드 Superset (0) | 2025.04.03 |