背景
Superset 是源于 airbnb 的 BI web 组件,目前为 apache 孵化项目,主要特征有:
- 可视化展示和探索数据
- 漂亮的图表
- 不用编码来实现数据的下钻和切分
- SQL 方式来获取数据
- 有安全模型和权限控制
- 支持定义维度,指标
- 支持对接大多数 SQL 数据库
- 与 druid 深度整合
- 支持缓存来快速加载看板
本文成功在 mac os x 上配置好了 Superset,并且和 ClickHouse 进行了对接。
Superset 安装
参考自 Apache Superset Installation 文档
docer 安装
docker hub 上的镜像
大致如下,不过在 mac 上有错误,没搞定。
docker pull amancevice/superset
mkdir -p /dockerfs/superset/conf
mkdir -p /dockerfs/superset/data
docker run -p 8088:8088 -v /dockerfs/superset/conf:/etc/superset -v /dockerfs/superset/data:/data –name superset -d amancevice/superset
docker run --name superset -d -p 8088:8088 amancevice/superset
docker exec -it superset demo
#系统会提示设置管理员
mac os x 下安装基础包
brew install pkg-config libffi openssl python
env LDFLAGS="-L$(brew --prefix openssl)/lib" CFLAGS="-I$(brew --prefix openssl)/include" pip install cryptography==1.7.2
linux 下安装基础包
Debian 系
sudo apt-get install build-essential libssl-dev libffi-dev python-dev python-pip libsasl2-dev libldap2-dev
RHEL 系
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
遇到了 SNIMissingWarning
,则安装包
pip install pyopenssl ndg-httpsclient pyasn1
没有 pip 的话,则安装包
yum makecache
sudo easy_install -i http://pypi.douban.com/simple/
pip sudo easy_install pip
我在这里遇到了 openssl.c 的一个 error,无法进行下去了。
安装 Superset
- 使用 python 隔离环境安装
安装隔离环境
pip install virtualenv
进入隔离环境
virtualenv venv
. ./venv/bin/activate
或者指定 python 版本
virtualenv -p /usr/local/bin/python3.5 py35env
升级包
pip install --upgrade setuptools pip
- 安装 Superset 快船
安装 Superset(快船)
pip install superset
创建用户,会提示输入用户名, 密码
fabmanager create-admin --app superset
初始化数据库
superset db upgrade
加载演示数据
superset load_examples
创建默认角色和权限
superset init
启动 web 服务,默认端口 8088,可以使用 -p
来自定义端口
superset runserver
也可以启动 DEBUG 调度模式的 web 服务,通过使用 -d
参数
# superset runserver -d
- 安装完成,打开浏览器 localhost:8088/ 观察效果
现在可以直接看到 Superset 的 Dashboards,以及演示数据。
演示数据与 superset github 上的图一模一样,在 youtube 上也有视频版的演示。
与 ClickHouse 集成
安装包
pip install sqlalchemy-clickhouse
增加 SQLAlchemy 资源
clickhouse://default:password@localhost:8123/default
增加图表
基本思路是
添加数据源.数据库
通过 sqlalchemy,支持所有常见的数据库。
添加数据源.数据表
基本方式是直接添加表,从数据库中选择对应的数据表。
高级方式是通过 SQL 工具箱,将 SQL 语句的结果做为数据表。
添加切片
切片可以对数据表进行二次加工,得到最终要展示的数据
添加看板
将制作好的切片,添加至看板中
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于