Superset官网地址为:
http://superset.apache.org/index.html
安装环境为windows 10 64位企业版。
安装步骤:
1. 安装Python。 建议安装Python 3.4 以上版本。Python 2.7 版本在windows 上存在各种编码问题。
https://www.python.org/downloads/release/python-350/
下载Windows x86-64 executable installer 。直接使用exe的安装包即可,安装过程中选中增加到环境变量。
检查:CMD下 分别运行python -V 和 pip-V。如果找不到命令,则需要添加python的安装目录到path环境变量下。
2. 安装 virtualenv。(此步骤可选,直接安装的话跳到第四步。因为Superset需要安装的组件较多,最好是使用virtualenv独立一套python环境。)
在开发Python应用程序的时候,系统安装的Python3只有一个版本。所有第三方的包都会被pip安装到Python3的site-packages目录下。
如果我们要同时开发多个应用程序,那这些应用程序都会共用一个Python,就是安装在系统的Python 3。如果应用A需要jinja 2.7,而应用B需要jinja 2.6怎么办?
这种情况下,每个应用可能需要各自拥有一套“独立”的Python运行环境。virtualenv就是用来为一个应用创建一套“隔离”的Python运行环境。
安装命令:
pip install virtualenv
3.使用virtualenv。
先在D盘建立d:\python\myproject 目录。
d:md pythoncd pythonmd myprojectcd myproject
然后激活
cd d:\python\myproject
virtualenv env
//等待初始化完成...
//激活:
env\Scripts\activate
激活之后的界面如下图,注意在命令行输入的左侧有(env)标记,这样我们的后续操作都会在env中生效,不会影响整体的pyhton环境。
4.安装VS2015。
Superset中依赖的一些库需要使用microsoft visual c++ 2010编译。
根据说明应该是也可以安装 Visual C++ 2015 Build Tools: http://landinghub.visualstudio.com/visual-cpp-build-tools
5. 安装sasl。
这里是个大坑, 我之前直接安装superset一直安装不成功,报错(sasl.h 找不到)。
解决办法是:通过 http://www.lfd.uci.edu/~gohlke/pythonlibs/#sasl 下载对应的版本
比如咱们安装的python 是3.5版本,系统是64位,就下载sasl-0.2.1-cp35-cp35m-win_amd64.whl。
pip install D:\Downloads\sasl-0.2.1-cp35-cp35m-win_amd64.whl
6.安装Twisted包来进一步安装Scrapy。
1.首先打开https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted,找到对应版本的Twisted并下载到你的文件夹。此例为Twisted‑17.9.0‑cp36‑cp36m‑win_amd64.whl
2.利用pip install命令安装指定存储路径下的whl文件。此例如图所示
C:\Users\Tony>pip install D:\安装包\Twisted-17.9.0-cp36-cp36m-win_amd64.whl
运行成功示意图:
3.利用pip install 命令继续安装Scrapy,命令为
pip install Scrapy
4.安装wordcloud-1.5.0-cp36-cp36m-win_amd64.whl,下载地址为:
https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud
命令为:pip install 本地路径
7. 前置项安装完毕,开始安装superset。
pip install superset
如果报错Microsoft visual c++ 14.0 is required:
下载附件visualcppbuildtools_full.exe并安装
# 创建管理员帐号fabmanager create-admin --app superset
FIX LINK : fatal error LNK1158: cannot run ‘rc.exe’
Add this to your PATH environment variables:
C:\Program Files (x86)\Windows Kits\8.0\bin\x86
Copy these files:
rc.exe rcdll.dll
From
C:\Program Files (x86)\Windows Kits\8.0\bin\x86
To
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin
初始化数据库 (windows下,先进入到 Python安装目录(或者virtualEnv的虚拟目录)下,C:\Python37\Lib\site-packages\superset\bin下)
Python superset db upgrade
# 加载例子(后续操作都需要在C:\Python37\Lib\site-packages\superset\bin下)
Python superset load_examples
# 初始化角色和权限
Python superset init
# 启动服务,端口 8088, 使用 -p 更改端口号。
Python superset runserver -d
然后使用浏览器,打开localhost:8088即可看到登录页面。
8. Superset汉化
(1)进入Superset安装目录,执行以下命令,创建相应目录(translations/zh/LC_MESSAGES ):
md translations
(2)下载汉化的mo文件
官方github:
https://github.com/apache/incubator-superset/tree/master/superset/translations/zh/LC_MESSAGES
下载 messages.mo文件放在上面建立的目录下
也可以下载messages.po文件,自己手动去汉化,再将po文件编译为mo文件,编译方式,执行命令:
msgfmt messages.po -o messages.mo
(3)修改config.py文件,并重启Superset ,修改部分如下:
# Setup default language
BABEL_DEFAULT_LOCALE = 'zh'
# Your application default translation path
BABEL_DEFAULT_FOLDER = 'babel/translations'
# The allowed translation for you app
LANGUAGES = {
#'en': {'flag': 'us', 'name': 'English'},
# 'fr': {'flag': 'fr', 'name': 'French'},
'zh': {'flag': 'cn', 'name': 'Chinese'}
}
(4)关闭浏览器重新打开即可看到汉化效果
9. 数据源。
Superset默认使用sqllite。
安装msyql驱动:pip install mysqlclient
mysql连接格式:mysql://用户名:密码@地址/数据库名称?charset=utf8
支持以下数据库:
database | pypi package | SQLAlchemy URI prefix |
---|---|---|
MySQL | pip install mysqlclient | mysql:// |
Postgres | pip install psycopg2 | postgresql+psycopg2:// |
Presto | pip install pyhive | presto:// |
Hive | pip install pyhive | hive:// |
Oracle | pip install cx_Oracle | oracle:// |
sqlite | sqlite:// | |
Snowflake | pip install snowflake-sqlalchemy | snowflake:// |
Redshift | pip install sqlalchemy-redshift | redshift+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:// |
Athena | pip install "PyAthena>1.2.0" | awsathena+rest:// |
Vertica | pip install sqlalchemy-vertica-python | vertica+vertica_python:// |
ClickHouse | pip install sqlalchemy-clickhouse | clickhouse:// |
Kylin | pip install kylinpy | kylin:// |
BigQuery | pip install pybigquery | bigquery:// |
Teradata | pip install sqlalchemy-teradata | teradata:// |
使用pip安装好数据库后,就可以在Web界面中,配置相关数据源了。
数据库的连接字符串格式参见:
http://docs.sqlalchemy.org/en/rel_1_0/core/engines.html#database-urls
另外,superset目前只支持单表的显示。
10.修复csv导出乱码问题
修改config.py
# note: index option should not be overridden
CSV_EXPORT = {
# 'encoding': 'utf-8',
'encoding': 'gb2312',
}
PS:
安装过程中缺少whl文件下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#python-geohash