Date 四 05 一月 2017 By wuwenjie Category 数据. Tags data
superset是什么
superset马甲比较多,它曾经叫过:Panoramix
,Caravel
,
关于入门和介绍可以我此前的文章:
最近公司想用新版本中的SQL Lab的功能,于是我将caravel升级到superset。在此做个笔记
除了增加了几个新特性,变化不大,此前写的caveral文章基本可用,如果遇到问题,参考官方文档即可
安装
安装基本没坑,跟着官方教程做就行
我是ubuntu系统,所以安装过程为:
安装依赖
ubuntu
sudo apt-get install build-essential libssl-dev libffi-dev python-dev python-pip libsasl2-dev libldap2-dev
centos
yum makecache sudo easy_install -i http://pypi.douban.com/simple/ pip sudo easy_install pip sudo yum install gcc libffi-devel python-devel python-pip python-wheel openssl-devel libsasl2-devel openldap-devel
docker
参考Docker image (community contributed)
安装与初始化
# Install superset pip install superset -i http://pypi.douban.com/simple --trusted-host pypi.douban.com #我的版本是superset==0.15.1 # Create an admin user fabmanager create-admin --app superset # Initialize the database superset db upgrade # Load some data to play with superset load_examples # Create default roles and permissions superset init # Start the web server on port 8088 superset runserver -p 8088 -a 0.0.0.0 # -a 0.0.0.0使其允许外部访问 # To start a development web server, use the -d switch # superset runserver -d
数据永久化
默认数据库在~/.superset/superset.db
,可通过在配置文件里修改SQLALCHEMY_DATABASE_URI
来指定sqlite数据库文件路径
更多数据库
默认支持sqlite
如果需要添加其他数据库需要安装依赖:Database dependencies
诸如mssql: pip install pymssql
添加mssql,uri形如: mssql+pymssql://username:pass@192.168.0.6:10025/db_name?charset=utf8
oracle
oracle比较烦人,如果是ubuntu可以参考Oracle-Instant-Client
简单配置
配置方法和caravel系列之简易配置/定制相同,只需要把配置文件名由caravel_config.py
改为superset_config.py
即可
我的配置是:(superset_config.py
) 记得:export PYTHONPATH=/xxx (superset_config.py所在目录)
#--------------------------------------------------------- # Caravel specific config #--------------------------------------------------------- ROW_LIMIT = 5000 CARAVEL_WORKERS = 16 CARAVEL_WEBSERVER_PORT = 8000 #--------------------------------------------------------- #--------------------------------------------------------- # Flask App Builder configuration #--------------------------------------------------------- # Your App secret key SECRET_KEY = '\2\1thisismyscretkey\1\2\e\y\y\h' LANGUAGES = "en" APP_ICON = "your logo" APP_NAME = "yout app name" BABEL_DEFAULT_LOCALE = 'en' LANGUAGES = { 'zh': {'flag': 'cn', 'name': 'Chinese'}, 'en': {'flag': 'us', 'name': 'English'}, 'fr': {'flag': 'fr', 'name': 'French'}, # 'fr': {'flag': 'fr', 'name': 'French'}, } SQLALCHEMY_DATABASE_URI = 'sqlite:////home/wwj/superset_lab/superset.db' #存储superset的系统信息,改为你自己的数据库路径,默认在~/.superset # Flask-WTF flag for CSRF #CSRF_ENABLED = True
定制化
认证系统
考虑到数据的隐私和安全,访问superset的内容需要登陆验证,你可以加入公司已有的认证系统,诸如LDAP,database之类的,目前superset支持以下积累验证:database, OpenID, LDAP, OAuth & REMOTE_USER
这部分功能由Flask AppBuiler
提供,如果你想做深度定制,可以对此做更深入了解:Authentication Methods
另外如果你想把superset的slice集成到其他系统会遇到用户登陆问题,如果你想无缝衔接,可以考虑OAuth
至于是否可以用CAS,我还没做实验,猜测在Flask AppBuiler的认证部分增加flask cas模块能做到
坑
汉化
当前版本,打包过程没用把翻译文件放进去,需要手动处理
首先进入安装包目录(我的是:/home/wwj/superset_lab/env/lib/python3.4/site-packages/superset
)
然后:mkdir -p translations/zh/LC_MESSAGES
接着获取:wget https://github.com/airbnb/superset/raw/0.15.1/superset/translations/zh/LC_MESSAGES/messages.mo
如果翻译不完整可以手动翻译: 下载: wget https://github.com/airbnb/superset/raw/0.15.1/superset/translations/zh/LC_MESSAGES/messages.po
,校验:msgfmt -c messages.po
, 然后编译为mo:msgunfmt messages.po -o messages.mo
如果想反向编译,即 mo -> po , 可以使用 :msgfmt xxx.mo -o xxx.po
,可以参考:How to convert gettext .mo file into .po file
如果你想做更多定制,诸如做自己的发行版,参考:Making your own build
版权声明:自由转载-非商用-非衍生-保持署名
我的服务
开源在线表单设计工具
kinto server(施工中)
站内搜索(基于google,你可能看不到)
|