데이터 분석가:Applied Data Analytics/데이터 시각화

Superset 설치

데이터분석 2025. 4. 2. 08:46

먼저  Superset이 뭔지 왜 사용하는지 설명합니다. 
설치부터 보실분은 아래 구분선 부터 보시면 됩니다.

  • Superset(슈퍼셋)의 정의 및 특징:주요 특징 및 장점:
    1. 오픈소스 & 무료
      • 누구나 자유롭게 사용 가능하고 커스터마이징도 자유로움.
    2. 다양한 데이터베이스 지원
      • MySQL, PostgreSQL, BigQuery, SQLite, Hive 등 대부분의 데이터베이스 연결 가능.
    3. 풍부한 시각화 기능
      • 바 차트, 라인 차트, 히트맵, 산점도, 지도 시각화 등 다양한 시각화 유형 지원.
    4. 인터랙티브 대시보드
      • 대시보드를 통해 여러 데이터를 동적으로 상호작용하며 분석 가능.
    5. 빠른 분석 및 협업 용이성
      • SQL 에디터 내장, 직관적인 인터페이스로 데이터 분석 속도가 빠르고, 팀 협업도 편리.
    6. 확장성과 사용자 지정 기능
      • 사용자의 필요에 맞게 확장 및 플러그인 개발 가능.

    슈퍼셋(Superset) vs. 태블로(Tableau) 차이점:라이센스 오픈소스(무료) 상용 라이센스(유료)
    설치 및 운영 서버 설치 및 관리 필요 클라우드 또는 로컬 설치
    유연성 및 확장 유연성, 확장성 높음 제한된 커스터마이징
    난이도 초반에 다소 기술적 지식 요구(SQL, 서버 설정) 직관적이며 쉬운 사용
    기능 충분한 시각화 기능 제공 매우 다양한 고급 기능 제공
  • 구분Superset (슈퍼셋)Tableau (태블로)
  • Apache Superset은 Airbnb에서 처음 개발한 오픈소스 BI(비즈니스 인텔리전스) 도구로, 데이터 분석 및 시각화를 간편하게 수행하도록 도와줍니다.

  • 슈퍼셋을 사용하는 이유 및 적합한 경우:
    • 오픈소스로 비용 절감이 필요한 스타트업 및 소규모 기업
    • 데이터베이스와 연계된 빠르고 유연한 데이터 분석 필요
    • 팀이 SQL과 같은 기술에 익숙하고 서버 관리가 가능한 환경
    • 특정 요구에 맞게 시각화를 커스터마이징하거나 API 연동이 필요한 경우
    Apache Superset이 적합한 경우
    • 개발 및 데이터 엔지니어링 역량을 갖춘 팀
    • 비용 효율성 및 자유로운 확장성 중요
    • SQL로 직접 데이터를 쿼리하고 분석하려는 환경
    • 오픈소스 생태계의 도구를 선호하는 팀

  • 슈퍼셋의 사용 예시:
    • 기업 내부 대시보드 제작 및 공유
    • 웹 기반 인터랙티브 보고서 제공
    • 데이터 엔지니어링 및 분석가가 데이터를 실시간 분석하고 모니터링하는 환경 구축

설치 환경

  • Anaconda 가상환경에 Superset 설치  (왜 가상환경에 설치해야되는지는 여기선 설명하지 않겠습니다.)
  • 아나콘다설치  글을 참고하세요

1. 가상환경 생성 및 활성화

1-1. 새로운 가상환경 생성 (예: superset_env)

 
conda create -n superset_env python=3.9

1-2. 가상환경 활성화

 
conda activate superset_env


2. Superset 설치

2-1. pip 업그레이드

 
python -m pip install --upgrade pip setuptools wheel

Superset설치 중 오류  Windows에 Visual C++ 빌드 도구가 설치되어 있지 않아서 설치가 실패함

해결 방법

Visual C++ Build Tools 설치

  1. 아래 주소 접속   또는 2번에 파일을 다운받으세요.
    https://visualstudio.microsoft.com/visual-cpp-build-tools/
  2. "Download Build Tools" 클릭
    아래 파일이 다운로드됨.

vs_BuildTools.exe
4.25MB


파일 실행시키면 아래 설치 창이 뜨면서 설치진행됨

 

위에 창이뜨면 위에 처럼 선택체크 아래항목이 포함되어 있다.

  • 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 설치 로

가상환경 활성화 후 다음 명령 실행:

pip install apache-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 설치

pip install apache-superset

설치가 완료되면 superset 명령어가 사용 가능해짐
 
설치가 완료되었는지 확인하는 방법 프롬프트 에
 
pip list 
 
출력 결과에 apache-superset이 보이면 설치된 것.
(아래 처럼 설치된항목중 apache-superset 이 보임)

Superset 명령어 동작 확인

Superset은 CLI 도구를 포함하므로 다음 명령어가 작동하면 정상 설치된 것:

superset --version  (주의 : - - 바가 두개임)
 

버전이 출력되면 설치 성공. 아래 예시

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 파일 만들기

  1. 파일 생성 위치:
    예시로 C:\Users\onesa\superset_config.py 경로에 만들자.
  2. 파일 내용:
    메모장 또는 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이 이 설정 파일을 인식하도록 환경 변수 설정

set SUPERSET_CONFIG_PATH=C:\Users\onesa\superset_config.py
 

3. 다시 Superset 초기화 명령 실행 한번만 해주면됨.

한 줄로 실행하는 방법 (Windows / Anaconda Prompt) 주의 아래 명령그대로 처야됨 공백있으면 에러남
set FLASK_APP=superset&&superset db upgrade

마지막에 위에 화면 처럼 뜨면 ok 

다음 명령어  한번만 해주면됨

superset fab create-admin     Superset 관리자 계정(admin 계정)을 생성하는 단계

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 init  한번만 진행해주면됨

그럼 아래 화면처럼 오른쪽 상단에 + 가 보인다 이것이 보여야 데이터를 불러올수 있다.
안그러면 젤 아래 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.

 
No PIL installation found
 
WARNING: This is a development server. Do not use it in a production deployment.

→ 이건 개발용 서버로 실행 중이라는 경고일 뿐. → 지금처럼 개인 학습용/테스트용으로는 문제 없음.

 
Debugger is active!

→ --debugger 옵션 때문에 디버거가 켜졌다는 뜻. 문제 아님.

결론: 정상 실행 중

* Running on http://127.0.0.1:8088

이게 뜨면 Superset 서버가 정상적으로 켜졌다는 뜻

이제 해야 할 일

웹 브라우저 열기
주소창에 다음 입력:
 http://localhost:8088

아까 만든 관리자 계정 (예: steven / 비밀번호)으로 로그인

왼쪽은 프로프트창(열어둬야됨) 오른쪽은 superset 로긴창

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 마이그레이션

 
superset db upgrade

3-2. 관리자 계정 생성 (한번만 하면됨)

 
superset fab create-admin (꼭 실행할것)

사용자명, 비밀번호, 이메일, 이름 등 입력

3-3. 초기화(한번만 하면됨)

superset init (꼭 해줘야됨)

4. Superset 실행

 
superset run -p 8088 --with-threads --reload --debugger

실행 후 브라우저에서 http://localhost:8088 접속

위에서 만든 ID/PW로 로그인

5. 데이터 소스 연결

5-1. 상단 메뉴 → Data → Databases → +Database 클릭

예: SQLite, PostgreSQL, MySQL, BigQuery 등 연결 가능

5-2. SQLAlchemy URI 입력 예시

 
sqlite:///your_database.db
해당 불러올 파일은 되도록이면 한글이 없는 C:\폴더이하에 만들어주세요(문서 폴더나 document 비추)
추천 예시) 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