Apache Superset(incubating) 정리
1. 소개
AirBnB에서 오픈소스(Apache2.0 라이센스)로 공개했다. Enterprise BI를 포지셔닝하고 있으며, 현재 Apache Incubating 프로젝트이다.
Web Application 형태로 사용 가능, 여담으로 공개되기 전 원래 프로젝트 이름은 Caravel과 Panoramix로 불렸다.
Hortonworks Data Platform 2.6 버전에 비 공식적으로 패키징 되어있다(rpm을 통해 설치 가능)
2. 특징
4. 설정
superset_config.py 파일
# Superset specific config
4. Screen Shot & Demo
5. 참고 페이지
AirBnB 프로젝트 페이지 - http://airbnb.io/projects/superset/
Github - https://github.com/apache/incubator-superset
Apache 문서 - https://superset.incubator.apache.org/index.html
AirBnB에서 오픈소스(Apache2.0 라이센스)로 공개했다. Enterprise BI를 포지셔닝하고 있으며, 현재 Apache Incubating 프로젝트이다.
Web Application 형태로 사용 가능, 여담으로 공개되기 전 원래 프로젝트 이름은 Caravel과 Panoramix로 불렸다.
Hortonworks Data Platform 2.6 버전에 비 공식적으로 패키징 되어있다(rpm을 통해 설치 가능)
2. 특징
- 데이터 탐색 및 시각화를 위한 BI 툴.
- 대시보드 생성 및 공유 기능
- 엔터프라이즈 환경 사용을 위한 보안(OpenID, LDAP, OAuth, REMOTE_USER 등)
- 데이터 엑세스에 대한 세밀한 보안/권한 관리
- 여러가지 DBMS 지원(MySQL,Postgres,Presto,Oracle,sqlite,Redshift,MSSQL,Impala,SparkSQL,Greenplum,Athena,Vertica + SQLAlchemy)
3. 설치
설치 과정은 OS/Python 버전 등에 따라 다르므로 아래의 문서를 참조.
다음은 CentOS 6, Python3.x 환경에서 설치 과정이다.
sudo yum upgrade python-setuptools
sudo yum install gcc gcc-c++ libffi-devel python-devel python-pip python-wheel openssl-devel libsasl2-devel openldap-devel
virtualenv venv
. ./venv/bin/activate
pip install --upgrade setuptools pip
# superset 설치
pip install superset
# Admin 유저 생성(명령 수행 후 prompt에서 비밀번호 설정)
fabmanager create-admin --app superset
# Initialize the database(기본 설치 시 sqlite 사용)
superset db upgrade
# Load some data to play with(Optional)
superset load_examples
# default role 및 권한 설정
superset init
# Superset web 서버 실행 (-p [PORT] 옵션으로 포트 설정가능, default 8088)
superset runserver
4. 설정
superset_config.py 파일을 생성하여 PYTHONPATH 디렉토리에 넣어주어야 한다. 기본 port, DB uri 등을 설정할 수 있다.
사용하는 DB에 따라 필요한 Python Package를 설치해야 한다. 필요 패키지는 아래 표 참조
database | pypi package | SQLAlchemy URI prefix |
MySQL | pip install mysqlclient | mysql:// |
Postgres | pip install psycopg2 | postgresql+psycopg2:// |
Presto | pip install pyhive | presto:// |
Oracle | pip install cx_Oracle | oracle:// |
sqlite | sqlite:// | |
Redshift | pip install sqlalchemy-redshift | postgresql+psycopg2:// |
MSSQL | pip install pymssql | mssql:// |
Impala | pip install impyla | impala:// |
SparkSQL | pip install pyhive | jdbc+hive:// |
Greenplum | pip install psycopg2 | postgresql+psycopg2:// |
Athena | pip install "PyAthenaJDBC>1.0.9" | awsathena+jdbc:// |
Vertica | pip install sqlalchemy-vertica-python | vertica+vertica_python:// |
ClickHouse | pip install sqlalchemy-clickhouse | clickhouse:// |
superset_config.py 파일
# Superset specific config
#---------------------------------------------------------
ROW_LIMIT = 5000
SUPERSET_WORKERS = 4
SUPERSET_WEBSERVER_PORT = 8088
#---------------------------------------------------------
#---------------------------------------------------------
# Flask App Builder configuration
#---------------------------------------------------------
# Your App secret key
SECRET_KEY = '\2\1thisismyscretkey\1\2\e\y\y\h'
# The SQLAlchemy connection string to your database backend
# This connection defines the path to the database that stores your
# superset metadata (slices, connections, tables, dashboards, ...).
# Note that the connection information to connect to the datasources
# you want to explore are managed directly in the web UI
SQLALCHEMY_DATABASE_URI = 'sqlite:////path/to/superset.db'
# Flask-WTF flag for CSRF
WTF_CSRF_ENABLED = True
# Set this API key to enable Mapbox visualizations
MAPBOX_API_KEY = ''
4. Screen Shot & Demo
5. 참고 페이지
AirBnB 프로젝트 페이지 - http://airbnb.io/projects/superset/
Github - https://github.com/apache/incubator-superset
Apache 문서 - https://superset.incubator.apache.org/index.html
댓글
댓글 쓰기