前言

最近想用一下Superset,这个是一个开源项目,可以直接通过写sql来生成图表,有时候对一些图表需求比较多的时候,可以用的上。

Superset是由Airbnb(知名在线房屋短租公司)开源BI数据分析与可视化平台(曾用名Caravel、Panoramix),该工具主要特点是可自助分析、自定义仪表盘、分析结果可视化(导出)、用户/角色权限控制,还集成了一个SQL编辑器,可以进行SQL编辑查询等,原来是用于支持Druid的可视化分析,后面发展为支持很多种关系数据库及大数据计算框架,如:mysql, oracle, Postgres, Presto, sqlite, Redshift, Impala, SparkSQL, Greenplum, MSSQL.

http://superset.apache.org/tutorial.html

windows下的安装和配置

superset官网就有安装教程:http://superset.apache.org/installation.html
官网说明对Windows系统当前没有官方支持,不过实际上是可以安装成功的, 如果是windows下的安装的话,要用 Python 安装。
我的环境是: windows 7 64 位
以下是一些前置准备:

安装 Python

我安装的是 Python 3.6 版本。建议版本高一点,Python 2.7 版本在windows 上存在各种编码问题。

1
2
F:\>python --version
Python 3.6.1

安装 virtualenv

virtualenv 就是用来为一个应用创建一套“隔离”的Python运行环境

1
2
3
4
5
6
F:\>pip install virtualenv
Collecting virtualenv
Downloading https://files.pythonhosted.org/packages/b6/30/96a02b2287098b23b875bc8c2f58071c35d2efe84f747b64d523721dc2b5/virtualenv-16.0.0-py2.py3-none-any.whl (1.9MB)
100% |████████████████████████████████| 1.9MB 265kB/s
Installing collected packages: virtualenv
Successfully installed virtualenv-16.0.0

使用virtualenv。先在D盘建立d:\pycharm\superset目录。
创建虚拟环境: virtualenv env
激活,启用虚拟环境(必须要用反斜杆):env\Scripts\activate

1
2
3
4
5
6
7
8
9
10
D:\>md pycharm
D:\>cd pycharm
D:\pycharm>md superset
D:\pycharm>cd superset
D:\pycharm\superset>virtualenv env
Using base prefix 'c:\\program files (x86)\\python36-32'
New python executable in D:\pycharm\superset\env\Scripts\python.exe
Installing setuptools, pip, wheel...done. D:\pycharm\superset>env\Scripts\activate

当然,如果后面想退出虚拟环境就是这个:
(env) D:\pycharm\superset>env\Scripts\deactivate

安装 superset

1
2
3
4
5
6
7
8
9
10
11
12
13
(env) D:\pycharm\superset>pip install superset
Collecting superset
Downloading https://files.pythonhosted.org/packages/64/7e/186af3b4501c82794a9332530e8b310073779f555a3f20ee481a27b3bfaf/superset-0.26.3.tar.gz (50.6MB)
100% |████████████████████████████████| 50.6MB 45kB/s
Collecting bleach (from superset)
。。。
。。。
error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools ----------------------------------------
Command "d:\pycharm\superset\env\scripts\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\admin\\AppData\\Local\\Temp\\pip-install-_zyiqvlv\\python-geohash\\setup.py';f=getattr(tokenize, 'open', open)(__file__);
code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\admin\AppData\Local\Temp\pip-record-q7ds71hu\install-record.txt --single-version-externally-managed --compile --instal
l-headers d:\pycharm\superset\env\include\site\python3.6\python-geohash" failed with error code 1 in C:\Users\admin\AppData\Local\Temp\pip-install-_zyiqvlv\python-geohash\

看了一下,是少了 visualstudio 的组件,所以我又重新安装了一下 visualstudio 2015 的版本。
当将 vs2015 装上去之后,又重新试了一下。 发现还是报错,这次的错是这个:

1
2
error: [WinError 3] 系统找不到指定的路径。: 'C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v8.1\\lib'
Failed building wheel for python-geohash

看样子好像是少了一条 Python-geohash 库。 那我直接去这个地方装: https://www.lfd.uci.edu/~gohlke/pythonlibs/#python-geohash
这边还有一个细节,就是要安装对应版本Python的包,比如我的是 3.6的,那么就要对应下载这个:python_geohash-0.8.5-cp36-cp36m-win32.whl

如果下载的版本不匹配的话,就会报这个错误:xxxx is not a supported wheel on this platform.

1
2
3
4
(env) D:\pycharm\superset>pip install C:\Users\admin\Downloads\python_geohash-0.8.5-cp36-cp36m-win32.whl
Processing c:\users\admin\downloads\python_geohash-0.8.5-cp36-cp36m-win32.whl
Installing collected packages: python-geohash
Successfully installed python-geohash-0.8.5

这样就安装好了,接下来再重新安装一下:

1
2
3
4
5
(env) D:\pycharm\superset>pip install superset
Collecting superset
。。。
Installing collected packages: pyyaml, superset
Successfully installed pyyaml-3.13 superset-0.26.3

这时候就安装成功了。

(上述错误我自己实践过程中都没有遇到,直接安装成功!)

配置

接下来就配置了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 创建管理员帐号
fabmanager create-admin # 初始化数据库 (windows下,先进入到 Python安装目录(或者virtualEnv的虚拟目录)下,lib\site-packages\superset\bin下)
Python superset db upgrade # 加载例子(后续操作都需要在lib\site-packages\superset\bin下)(这一步骤可以不用进行)
Python superset load_examples # 初始化角色和权限
Python superset init # 启动服务,端口 8088, 使用 -p 更改端口号。
Python superset run -p 8088
配置的时候,创建管理账号:使用上述命令,有如下提示:
 

可以看到,应该使用 flask fab 命令,即 flask fab create-admin

注意: 我在直接使用上述命令创建账号的时候,报错如下:could not locate a Flask application.  You did not provide the "FLASK_APP" environment variable....

解决方法是设置"FLASK_APP" 环境,命令如下:set FLASK_APP=app.py

这时候就配置完了,接下来就打开浏览器查看登录页面了: http://localhost:8088

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
(env) D:\pycharm\superset\env\Lib\site-packages\superset\bin>Python superset run -p 8088
?[34m-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
?[33mStarting Superset server in ?[31mDEBUG?[33m mode
?[34m-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
?[0m
2018-08-14 11:21:26,805:INFO:werkzeug: * Restarting with stat
?[34m-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
?[33mStarting Superset server in ?[31mDEBUG?[33m mode
?[34m-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
?[0m
2018-08-14 11:21:30,112:WARNING:werkzeug: * Debugger is active!
2018-08-14 11:21:30,116:INFO:werkzeug: * Debugger PIN: 243-075-165
2018-08-14 11:21:30,126:INFO:werkzeug: * Running on http://0.0.0.0:8088/ (Press CTRL+C to quit)
2018-08-14 11:21:30,958:INFO:werkzeug:127.0.0.1 - - [14/Aug/2018 11:21:30] "GET /superset/welcome HTTP/1.1" 200 -
2018-08-14 11:21:31,191:INFO:werkzeug:127.0.0.1 - - [14/Aug/2018 11:21:31] "GET /static/assets/images/favicon.png HTTP/1.1" 200 -
2018-08-14 11:21:31,241:INFO:werkzeug:127.0.0.1 - - [14/Aug/2018 11:21:31] "GET /superset/fave_dashboards/1/ HTTP/1.1" 200 -
2018-08-14 11:21:31,266:INFO:werkzeug:127.0.0.1 - - [14/Aug/2018 11:21:31] "GET /dashboardmodelviewasync/api/read?_oc_DashboardModelViewAsync=changed_on&_od_DashboardModelViewAsync=desc HTTP/1.1" 200 -
2018-08-14 11:21:31,296:INFO:werkzeug:127.0.0.1 - - [14/Aug/2018 11:21:31] "GET /superset/fave_slices/1/ HTTP/1.1" 200 -
2018-08-14 11:21:31,318:INFO:werkzeug:127.0.0.1 - - [14/Aug/2018 11:21:31] "GET /superset/recent_activity/1/?limit=50 HTTP/1.1" 200 -
2018-08-14 11:21:45,502:INFO:werkzeug:127.0.0.1 - - [14/Aug/2018 11:21:45] "GET /lang/zh HTTP/1.1" 302 -
2018-08-14 11:21:45,757:INFO:werkzeug:127.0.0.1 - - [14/Aug/2018 11:21:45] "GET /lang/zh HTTP/1.1" 302 -
2018-08-14 11:21:45,811:INFO:werkzeug:127.0.0.1 - - [14/Aug/2018 11:21:45] "GET / HTTP/1.1" 302 -
2018-08-14 11:21:45,818:INFO:werkzeug:127.0.0.1 - - [14/Aug/2018 11:21:45] "GET / HTTP/1.1" 302 -
2018-08-14 11:21:46,237:INFO:werkzeug:127.0.0.1 - - [14/Aug/2018 11:21:46] "GET /superset/welcome HTTP/1.1" 200 -
2018-08-14 11:21:46,600:INFO:werkzeug:127.0.0.1 - - [14/Aug/2018 11:21:46] "GET /superset/welcome HTTP/1.1" 200 -
2018-08-14 11:21:46,877:INFO:werkzeug:127.0.0.1 - - [14/Aug/2018 11:21:46] "GET /superset/welcome HTTP/1.1" 200 -

登录就要输入刚才设置的用户名和密码。

可以看到有四个是刚才加载的 example demo

创建一个sql并生成图表

我们连得上mysql,所以之前先安装mysqlclient: pip install mysqlclient

(我是在pycharm/superset路径下安装的mysqlclient,是可以的)

可以使用命令:pip list 检测是否安装成功:

Superset支持的数据库:

连接到一个新的数据库

测试连接,表示是可以连的

保存后,可以看到就有刚才添加的新数据库。

增加一个新表

  • 点击:数据源-数据表(Sources-Tables)
  • 选择数据库-填写此数据库存在的表名
  • 保存(Save)

写sql

新建表的时候,点击保存的时候,就可以直接到这个页面写sql了

可以直接查看 sql

最后保存到 dashboard,如果不存在就建一个

最后到dashboard 就可以查看了

在 charts 可以看到自己创建的图表

如果要新建一个新的图表的话,直接点击右上角的添加即可。
Superset 提供了很多的图表类型:

总结

windows下的环境是搭起来了,也试着用了一下,发现还是挺不错的,后面要看下这个东西怎么用的更好。


参考资料:
Superset在windows下的安装配置及基础教程
Superset在windows下的安装配置

http://kebingzao.com/2018/08/14/superset-install/

在windows下安装Superset的更多相关文章

  1. 如何在Windows10操作系统下安装superset步骤分享

    superset是一个轻量级自助式BI框架,以优雅的界面和根据数据表动态生成数据为主要特点. 一. 环境 windows 10 64位 Python 3.7 二. 安装步骤 安装Python 建议安装 ...

  2. 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一)

    相关连接导航 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一) 执行 $Gulp 时发生了什么 —— 基于 Gulp 的前端集成解决方案(二) 常用 Gulp 插件汇总 ...

  3. Windows 下安装 MongoDB

    Windows 下安装 MongoDB 的步骤:1.官网www.mongodb.com下载安装包或zip包2.解压下载的文件到文件夹 D:\mongo .3.使用管理员权限打开CMD,导航到目录 D: ...

  4. Coreseek Windows下安装调试

    由于项目需要全文检索,后面就去网上查了下资料,找到了Sphinx[中文是狮身人面像]这个全文检索引擎,听说挺好用的,不过没有中文分词.后面又去找了一下,找到了Coreseek,一款中文全文检索/搜索软 ...

  5. 从零开始学 Java - Windows 下安装 Tomcat

    谁都想分一杯羹 没有一个人是真正的无私到伟大的,我们试着说着做自己,与人为善,世界和平!殊不知,他们的真实目的当你知道后,你会被恶心到直摇头并下意识地迅速跑开,下辈子都不想见到他.不过,他没错,你也没 ...

  6. 从零开始学 Java - Windows 下安装 JDK

    关于未来 "我要死在火星.在我死去的时候能够想着人类能有一个美好的未来--有可持续的能源,同时能够殖民其他的星球来避免人类灭绝的最坏可能." 官网下载 直接打开官网:http:// ...

  7. windows下安装nginx

    说起开发,自己感到非常惭愧,由于公司让我给<绿电侠>项目写整体架构解决方案,才开始接触nginx这个东东,突然觉得它是一把非常好的利器. 本文主要记录在windows下安装nginx,另参 ...

  8. Redhat/Ubuntu/Windows下安装Docker

    Redhat/Ubuntu/Windows下安装Docker 什么是Docker Docker是Docker.inc公司开源的一个基于LXC技术之上构建的Container容器引擎,基于Go语言并遵从 ...

  9. Windows下安装Redis

    1.首先,Redis官方是支持Linux系统的,我这里不多说,需要的可以参考:http://www.oschina.net/question/12_18065/ 2.Windows 64位下载地址:h ...

随机推荐

  1. BeanCreationException: Error creating bean with name 'classPathFileSystemWatcher'之解决办法

    错误关键信息: BeanCreationException: Error creating bean with name 'classPathFileSystemWatcher' 错误原因:Idea不 ...

  2. 企业应用向ASP.NET Core迁移

    有人说.NET在国内的氛围越来越不行了,看博客园文章的浏览量也起不来.是不是要转Java呢? 没有必要扯起语言的纷争,Java也好C#都只是语言是工具,各有各的使用场景.以前是C#非开源以及不能在Li ...

  3. java基础-温故而知新

    1.类和对象(实例)的关系 类就是对象的抽象(模板),对象就是类的实例 2.java设置模式--代理模式 定义:代理就是中介,例如租房子经常有中介,还有出票软件 飞猪,携程. 3.代理大纲分为两种:静 ...

  4. C#调用WPS将文档转换成pdf进行预览

    引用:https://www.jianshu.com/p/445996126c75 vs启动项目可以生成wps实例 本地iis部署的站点却不行 原因是vs是管理员权限,而iis没有权限 解决方法 启动 ...

  5. 利用Jenkins打包并远程部署NodeJS应用

    本文Jenkins版本2.190.2,为19年11月最新 1.安装Jenkins.Git和NodeJS Jenkins安装参考:https://www.cnblogs.com/zhi-leaf/p/1 ...

  6. Python2.x升级python3.x【升级步骤和错误总结】

    网上帖子一大堆,按照那些教程操作,确实可以成功安装.但是安装成功之后呢,pip还是用的python2的pip. 切换到python3的pip之后,发现无法下载模块,还会有很多报错信息.以及" ...

  7. Data Science: An overview

    Week 1 Data Science: An overview Objective: 1.Is data science the same as statistics or analysis? st ...

  8. luogu P2495 [SDOI2011]消耗战 |虚树+LCA+dp

    题目描述 在一场战争中,战场由n个岛屿和n-1个桥梁组成,保证每两个岛屿间有且仅有一条路径可达.现在,我军已经侦查到敌军的总部在编号为1的岛屿,而且他们已经没有足够多的能源维系战斗,我军胜利在望.已知 ...

  9. ubutun16.04 安装编译glog日志库

    glog 是一个 C++ 日志库,它提供 C++ 流式风格的 API.在安装 glog 之前需要先安装 gflags,这样 glog 就可以使用 gflags 去解析命令行参数(可以参见gflags ...

  10. 一个小巧,也很nice的“小日历”--一个Android App

    一个小巧也很Nice的“小日历” 背景 因为,常用日历记一些事情,Android自带的日历,如果有事情,会显示一个小点,然后点击进去后才能看到事情的具体内容,不是很方便. 所以,写了一个“小日历” 特 ...