什么是Superset?
Superset 的中文翻译是快船,而 Superset 其实是一个自助式数据分析工具,它的主要目标是简化我们的数据探索分析操作,它的强大之处在于整个过程一气呵成,几乎不用片刻的等待。
Superset的特性!
Superset 通过让用户创建并且分享仪表盘的方式为数据分析人员提供一个快速的数据可视化功能。
在你用这种丰富的数据可视化方案来分析你的数据的同时,Superset 还可以兼顾数据格式的拓展性、数据模型的高粒度保证、快速的复杂规则查询、兼容主流鉴权模式(数据库、OpenID、LDAP、OAuth或者基于Flask AppBuilder的REMOTE_USER)
通过一个定义字段、下拉聚合规则的简单的语法层操作就让我们可以将数据源在UI上丰富地呈现。Superset 还深度整合了 Druid 以保证我们在操作超大、实时数据的分片和切分都能行云流水。
Druid又是什么?
Druid 是一个基于分布式的快速列式存储,也是一个为BI设计的开源数据存储查询工具。Druid 提供了一种实时数据低延迟的插入、灵活的数据探索和快速数据聚合。现有的 Druid 已经可以支持扩展到TB级别的事件和 PB 级的数据了,Druid是BI应用的最佳搭档。(不是阿里的那个Druid哟!)
就介绍到这了,更具体的大家自行Google吧!开搞!
在网上看了N多教程,爬了N多坑,气的我都摔鼠标了,这里给大家,来一个最最最简洁的安装教程吧!哈哈,那就是Superset官网教程 传送门,我就以它为蓝本进行说明啦!至于其它的教程,呵呵!
Superset安装
1.系统依赖
Superset 为了安全考虑,在其源数据数据库中存储数据库连接信息。为了这个目的,他们使用了 cryptography 库来加密连接密码,但是这个库有操作系统级别的依赖。如果你在进行安装和初始化时碰到了错误,就需要在OS上安装这些依赖:
因为我在虚拟机上装的 Centos7 属于 Fedora 和 RHEL 衍生产品类,所以以下命令将确保安装所需的依赖关系(我是在/usr/local下运行的):
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
install gcc gcc-c++ libffi
,复制官网命令都能复制错!当然也有可能是那个作者已经安装了 gcc-c++,但是你没安装漏掉的话,后面安装会报错的。单独安装 gcc-c++ 的命令# yum -y install gcc gcc-c++ libstdc++-devel
2.安装pip
官网的第二步是 Python virtualenv,官网直接安装 virtualenv 去了,有的教程也跟着官网去了,不知道 pip install virtualenv 这个安装 virtualenv 的命令没有 pip 哪来的 virtualenv 啊!当然安装了 pip 的可以直接跳过,没安装的来吧!继续在/usr/local路径下
#pip下载
wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d46aaa333267fb1c922bb" --no-check-certificate
#pip安装
tar -xzvf pip-1.5.4.tar.gz
cd pip-1.5.4
python setup.py install
安装完后可以将压缩包删了,rm -rf pip-1.5.4.tar.gz
,如果报错了自行去查原因解决吧!反正我没报错
3.安装virtualenv
到virtualenv啦!不知道的自行去了解,在这就不科普了。下载安装 virtualenv:pip install virtualenv
(还是在/usr/local下)
创建
virtualenv venv #/usr/local下会多一个venv文件夹
激活
source .venv/bin/activate #很多教程没有写source,所以无法激活
退出
deactivate #一旦你激活你的virtualenv你所做的一切都只限于virtualenv。
进入激活模式如下图所示:
virtualenv -- python虚拟沙盒,这篇写virtualenv不错,可以参考!
4.尽可能的更新到最新版本的 setuptools 和 pip
pip install --upgrade setuptools pip
5.安装Superset
前戏做足啦,开始安装 Superset 了。很多教程包括官网直接就是 pip install superset
,那我表示,大兄弟,你就几Kb几Kb的等着吧,一个 50.3M 的安装包我下载了一个小时,你敢信?,下载完了,因为之前没安装 gcc-c++ 安装编译失败了,你敢信?我都要崩溃了有没有!所以第二次走个捷径,因为 pip 可以查看 Superset 所有可用版本(这里指定了镜像。官网的太慢),输入一个不存在的版本号,pip 就会告诉你可用的版本号(pip install -i https://pypi.tuna.tsinghua.edu.cn/simple superset==999999
)。如图所示:
这是我第二次装的时候,选了个0.18.4的版本,后来又重装,装的最新版(pip install -i https://pypi.tuna.tsinghua.edu.cn/simple superset==0.19.1
)速度杠杠的。
6.创建管理员用户
fabmanager create-admin --app superset
7.初始化数据库
superset db upgrade
8. 加载样例数据
superset load_examples
9.创建默认的角色和权限
superset init
10.使用-d(开发模式)来启动服务
superset runserver -d
网上很多教程都说 superset runserver -p 8088
、 superset runserver
,你们可以试试。
汉化
这个时候已经可以登录,操作了,但奈何英语水平不高,唯有汉化了,先进入 Superset 安装目录,因为我一直都在 /usr/local 下操作,而且是 virtualenv 模式下,所以我的安装目录是 /usr/local/venv/lib/python2.7/sit-packages/superset,你们以此类推吧!
先创建相应的目录 mkdir -p translations/zh/LC_MESSAGES
再进入到这个文件夹的下面即 LC_MESSAGES 下,下载汉化的 mo 文件 wget https://github.com/airbnb/superset/raw/0.15.1/superset/translations/zh/LC_MESSAGES/messages.mo
当然也可以下载 po 文件自已手动汉化,再将 po 文件编译为 mo 文件 msgfmt messages.po -o messages.mo
,偷个懒,直接用下载的mo文件。
然后返回到 superset 的安装目录下,就是刚才新建文件夹的地方,修改 config.py 文件,如图所示,将默认的 en 改为 zh,再将其它注释掉,去掉 zh 的注释。至此大功告成!
这里的数据库是 Superset 的默认 SQLite 数据库,我没有切换数据库。以后如果要切换了,会再写一篇出来。