win10下apache superset的使用
官方文档:http://superset.apache.org/
一、环境准备
安装python3即3.4以上版本
二、python创建一个虚拟环境用来作为superset的容器
-pip3 install virtualenv
创建虚拟环境:
-(1)virtualenv env_supersetobj(创建虚拟环境)
-(2)virtualenv env_supersetobj(创建纯净环境)
-(3)virtualenv --system-site-packages env_supersetobj(创建环境,继承原安装的模块)
激活该虚拟环境:
-windows进到目录里,的Script文件夹输入:activate
-linux:soruse env1/Script/activate
退出虚拟环境:
-deactivate
在pycharm中使用虚拟环境
-files--settings--Project--Project Interpreter--add选择虚拟环境路径下的python.exe即可
三、安装VS2015
Superset中依赖的一些库需要使用microsoft visual c++ 2010编译。
根据说明应该是也可以安装 Visual C++ 2015 Build Tools:
http://landinghub.visualstudio.com/visual-cpp-build-tools
四、依赖包安装失败
这里是个大坑, 我之前直接安装superset一直安装不成功,报错,和pandas的版本有关
解决办法是:通过 http://www.lfd.uci.edu/~gohlke/pythonlibs/#sasl 下载对应的版本
比如咱们安装的python 是3.6版本,系统是64位,就下载sasl-0.2.1-cp36-cp36m-win_amd64.whl。
另外,安装过程中出现“ Failed building wheel for xxx”的解决办法如下:
出现原因:缺失相应的whl文件。
解决办法:下载并安装对应的whl文件。
例如,出现“ Failed building wheel for python_geohash”则下载相应python版本的python_geohash文件。
比如Python3.6版本,则找到python_geohash-0.8.5-cp36-cp36m-win_amd64.whl文件进行下载即可。
pip install F:\python_geohash-0.8.-cp36-cp36m-win32.whl
五、安装superset
1.安装
pip install superset
2.创建管理员账号
fabmanager create-admin --app superset
3.初始化数据库
先进入到 Python安装目录(或者virtualEnv的虚拟目录)下,lib\site-packages\superset\bin下
python superset db upgrade
4.加载例子
后续操作都需要在lib\site-packages\superset\bin下
python superset load_examples
5.初始化角色和权限
python superset init
6.启动服务
端口 8088, 使用 -p 更改端口号
python superset runserver -d
六、配置数据源
Superset默认使用sqllite。支持以下数据库:
MySQL |
mysql:// |
|
Postgres |
pip install psycopg2 |
postgresql+psycopg2:// |
Presto |
pip install pyhive |
presto:// |
Oracle |
pip install cx_Oracle |
oracle:// |
sqlite |
默认有了 |
sqlite:// |
Redshift |
pip install sqlalchemy-redshift |
postgresql+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:// |
Vertica |
pip install sqlalchemy-vertica-python |
vertica+vertica_python:// |
ClickHouse |
pip install sqlalchemy-clickhouse |
clickhouse:// |
使用pip安装好数据库后,就可以在Web界面中,配置相关数据源了。
数据库的连接字符串格式参见:http://docs.sqlalchemy.org/en/rel_1_0/core/engines.html#database-urls
七、选择charts
选择数据源之后添加数据源下的数据表。
然后配置图表,可选样式颜色等等。通过看板可以将多个图表集合。
八、嵌入后台应用
1.修改配置文件
修改superset中的config.py配置文件,将PUBLIC_ROLE_LIKE_GAMMA改为True。
注释意思:
授予公共角色与GAMMA角色相同的权限集。
如果想让匿名用户查看,可以设置这里,在仪表盘对特定数据集的授权显示,也在这里设置。
2.去掉X-Frame-Options限制避免iframe跨站访问问题
九、安全
安全->角色列表
权限释义:
can explore on Superset为导出图表
can explore json on Superset为导出图表json
all database access on all_database_access访问所有数据库权限,也可以设置单个
十、获取并使用iframe展示html
1.配置好之后从superset右上角 “</>” 按钮获得url地址
2.然后在所要展示的页面中
<iframe
width="600"
height="400"
seamless
frameBorder="0"
scrolling="no"
src="xxxxxxxxxxxx"
>
</iframe>
3.重定向superset图表URL
为什么需要重定向呢?这里主要是为了后台应用隐藏superset的图表链接,防止被扫描到后,恶意使用;只要在后台应用重新写一个具有权限控制的请求链接,重新定向到superset的图表链接,这样就能防止数据泄露出去。
4.动态传参交互
superset图表提供出去的链接地址,是以json作为参数传递的。
如:
form_data={"datasource":"3__table","viz_type":"line","slice_id":63,"granularity_sqla":"ds","time_grain_sqla":null,"since":"100 years ago","until":"now","metrics":[{"aggregate":"SUM","column":{"column_name":"num_california","expression":"CASE WHEN state = 'CA' THEN num ELSE 0 END"},"expressionType":"SIMPLE","label":"SUM(num_california)"}],"adhoc_filters":[{"expressionType":"SIMPLE","subject":"gender","operator":"==","comparator":"boy","clause":"WHERE","sqlExpression":null,"fromFormData":true,"filterOptionName":"filter_gtzm93u9ocq_9sy5vd5ocfg"},{"expressionType":"SIMPLE","subject":"name","operator":"LIKE","comparator":"Aaron","clause":"WHERE","sqlExpression":null,"fromFormData":true,"filterOptionName":"filter_6cgdixdoh3_5wrgyuorwoa"}],"groupby":["name"],"limit":"10","timeseries_limit_metric":{"aggregate":"SUM","column":{"column_name":"num_california","expression":"CASE WHEN state = 'CA' THEN num ELSE 0 END"},"expressionType":"SIMPLE","label":"SUM(num_california)"},"order_desc":true,"contribution":false,"row_limit":50000,"color_scheme":"bnbColors","show_brush":"auto","show_legend":true,"rich_tooltip":true,"show_markers":false,"line_interpolation":"linear","x_axis_label":"","bottom_margin":"auto","x_ticks_layout":"auto","x_axis_format":"smart_date","x_axis_showminmax":false,"y_axis_label":"","left_margin":"auto","y_axis_showminmax":false,"y_log_scale":false,"y_axis_format":".3s","y_axis_bounds":[null,null],"rolling_type":"None","time_compare":[],"num_period_compare":"","period_ratio_type":"growth","resample_how":null,"resample_rule":null,"resample_fillmethod":null,"annotation_layers":[],"compare_lag":"10","compare_suffix":"o10Y","markup_type":"markdown","metric":"sum__num","where":"","url_params":{}}
win10下apache superset的使用的更多相关文章
- win10下Spark的环境搭建
win10下Spark的环境搭建 2018-08-19 18:36:45 一.jdk 1.8.0 安装与配置 二.scala 2.11.8 安装与配置http://www.scala-lang.or ...
- Win10下安装zookeeper
Win10下安装zookeeper 注册中心zookeeper的安装 0.去Apache官网下载zookeeper http://zookeeper.apache.org/ 2.找到解压路径的conf ...
- WIN10下解决Failed installing tomcat X service
Win10下无法安装Tomcat的service.bat 来看本文的网友想必已经在自己电脑的cmd看了几百遍的Failed installing tomcat X service 字样,也认真检查过自 ...
- win10 下安装zookeeper+Kafka 的详细步骤(2)
Win10 下要使用Kafka需要经过以下三个步骤: 1.安装JDK(需要安装依赖java JDK) 2.安装zookeeper(资源协调,分配管理) 3.使用Kafka开发 ============ ...
- 在windows下安装Superset
前言 最近想用一下Superset,这个是一个开源项目,可以直接通过写sql来生成图表,有时候对一些图表需求比较多的时候,可以用的上. Superset是由Airbnb(知名在线房屋短租公司)开源BI ...
- 使用 Apache Superset 可视化 ClickHouse 数据
Apache Superset是一个强大的BI工具,它提供了查看和探索数据的方法.它在 ClickHouse 用户中也越来越受欢迎. 我们将介绍安装 Superset 的 2 种方法,然后展示如何从 ...
- Apache Superset 1.2.0教程 (二)——快速入门(可视化王者英雄数据)
上一篇我们已经成功的安装了superset,那么该如何可视化我们的数据呢?本文将可视化王者英雄的数据,快速的入门Superset. 一.连接数据源 首先确保mysql可以正常连接使用,并且准备好数据. ...
- win10 下visual studio 2015 在调试模式下不能跟踪源文件
win10 下visual studio 2015 在调试模式下不能跟踪源文件,只要一调试就会关闭(隐藏)打开的文档,非常不方便.经过一番折腾,发现是配置的问题. 如果安装多个版本的VS,请删除对应版 ...
- CentOS 7 x64下Apache+MySQL(Mariadb)+PHP56的安装
每次搭建新服务器,都要来来回回把这些包再装一下,来来回回搞了不下20遍了吧,原来都是凭经验,配置过程中重复入坑是难免的,故写此文做个备忘.虽然有像xampp这样的集成包,但是在生产环境的Linux发行 ...
随机推荐
- 分布式异步框架celery
Celery 1.什么是Clelery Celery是一个简单.灵活且可靠的,处理大量消息的分布式系统 专注于实时处理的异步任务队列 同时也支持任务调度 Celery架构 Celery的架构由三部分组 ...
- Java常用关键字的原理及用法
转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10843135.html 一:transient 用途:Java中一个类在定义时如果实现了Serilizabl ...
- Docker在Centos 7上的部署
Docker在Centos 7上的部署 方法1---开启centos 7上自带的 extras YUM源,然后 yum install docker来安装 安装前必须保证 Linux Kernel ...
- Nginx 高级配置-实现多域名HTTPS
Nginx 高级配置-实现多域名HTTPS 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Nginx支持基于单个IP实现多域名的功能 Nginx支持基于单个IP实现多域名的功能 ...
- DVWA之命令执行
一.命令执行漏洞 命令执行漏洞是指可以随意执行系统命令,属于高危漏洞之一,也属与代码执行范围内,好比说一句话木马<?php@eval($_POST['cmd']);?> 二.分类: 1.代 ...
- Java多线程编程核心技术-第2章-对象及变量的并发访问-读书笔记
第 2 章 对象及变量的并发访问 本章主要内容 synchronized 对象监视器为 Object 时的使用. synchronized 对象监视器为 Class 时的使用. 非线程安全是如何出现的 ...
- Unity错误提示大全(遇到问题就更新)
记录下使用Unity中遇到的所有错误提示 1.Unhandled Exception: System.Reflection.ReflectionTypeLoadException: The class ...
- 12 opencv图像合成
#include < stdio.h > #include < opencv2\opencv.hpp > #include < opencv2\stitching.hpp ...
- 【pytorch】持续踩坑 & 错误解决经历
报错 1.[invalid argument 0: Sizes of tensors must match except in dimension 0.] {出现在 torch.utils.data. ...
- Linux进程通信的几种方式总结
进程通信的目的 数据传输 一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M字节之间 共享数据 多个进程想要操作共享数据,一个进程对共享数据 通知事 一个进程需要向另一个或一组进程发 ...