文章目录
- 1. Superset简介
- 2. Superset环境搭建步骤
- 2.1 Anaconda的安装
- 2.2 Superset安装
- 3. 连接Hbase、Hive和MySQL
- 3.1 通过Phoenix连接Hbase
- 3.2 连接Hive
- 3.3 连接MySQL
- 4. Superset dashboard 示例
- 5. Superset总结
- 6. 参考
1. Superset简介
Superset由 Airbnb 开源,Apache 基金会孵化中的企业级 BI 工具,提供了一个基于 Web 的 BI 数据分析和可视化环境,并可连接多种不同数据源。这篇文档当中主要介绍:1)Superset的环境搭建;2)连接Hbase、Hive和MySQL数据仓储;3)Superset 使用中的一些基本概念;
2. Superset环境搭建步骤
版本:Python 3.7 + Superset 2.8.0 + Anaconda虚拟环境
2.1 Anaconda的安装
https://docs.anaconda.com/anaconda/install/
2.2 Superset安装
# 创建Anaconda虚拟环境
conda create --name supersetEnv python=3
# 进入Anaconda虚拟环境
conda activate supersetEnv
# 安装Superset
pip install futures==3.1.1 -i https://pypi.douban.com/simple
pip install SQLAlchemy==1.2.12 -i https://pypi.douban.com/simple
pip install pandas==0.23.4 -i https://pypi.douban.com/simple
pip install superset -i https://pypi.douban.com/simple
安装过程中容易报错,一般是版本和依赖问题,具体问题具体分析,也可参考官网docker环境下安装https://superset.incubator.apache.org/installation.html
开启Superset server
fabmanager create-admin --app superset
superset db upgrade
superset init
superset runserver -p 8088
浏览器打开http://10.18.222.74:8088 即可登录(账号密码admin)
3. 连接Hbase、Hive和MySQL
3.1 通过Phoenix连接Hbase
Superset 无法直接访问 HBase,但是可以通过 Phoenix 来与 HBase 做交互,步骤如下:
1) 开启Phoenix Query Server,Phoenix安装目录运行(如果已开启则忽略):bin/queryserver.py
2) 安装phoenixdb 和pyphoenix
pip install phoenixdb
pip install pyphoenix
3) 进入网页,数据源-数据库,输入连接,测试连接OK,点击保存
4) 报错如下
原因: Phoenix view中没有Schema,Superset加载的时候出现None type
解决办法: 修改源码
打开/root/anaconda2/envs/supersetEnv/lib/python3.7/site-packages/superset/models/core.py,return的时候去掉sorted函数,也就是不排序,因为None没法参与排序
5) 重复步骤3)
6) 打开SQL工具箱—SQL编辑器,测试如下,然后就可以可视化了
3.2 连接Hive
首先开启10.18.222.71节点Hive服务器端的HiveServer2
hive --service hiveserver2 --hiveconf hive.server2.thrift.port=10002
1) 进入网页,数据源-数据库,输入如下链接,测试OK
2) 打开SQL工具箱—SQL编辑器,测试如下,然后就可以可视化了
3.3 连接MySQL
首先需要安装pymysqlpip install pymysql
1) 进入网页,数据源-数据库,输入如下链接,测试OK
2) 打开SQL工具箱—SQL编辑器,测试如下,然后就可以可视化了
4. Superset dashboard 示例
5. Superset总结
作为一个轻量级的BI工具,Superset的功能还是很强大的,但是不像其他BI工具譬如Tableau等傻瓜式的操作,Superset的使用需要一定基础开发能力,特别是对SQL的能力要求较高,主要适用于数据科学家、数据分析师和开发人员等,不太适用不懂SQL的业务人员。
Superset 目前仍然是一个快速发展中的孵化项目,未来变化也难预料。相比其他 BI 软件,坑较多