前言

其实大数据图表展示的这类平台有很多,Superset是其中之一,最近有个需求对各类图表展示的开发较多,索性将工作量交给这个平台。

介绍

Superset的中文翻译是快船,而Superset其实是一个自助式数据分析工具,它的主要目标是简化我们的数据探索分析操作,它的强大之处在于整个过程一气呵成,几乎不用片刻的等待。

部署

docker方式(推荐)

docker pull amancevice/caravel
docker run --name caravel -d -p 8088:8088 amancevice/caravel
docker exec -it caravel demo
#系统会提示设置管理员

具体效果如下

[root@localhost ~]# docker exec -it ac94ec4d9469 demo
Username [admin]: admin
User first name [admin]: admin
User last name [user]: a
Email [admin@fab.org]: a
Password:
Repeat for confirmation:
******此处省略几百行

centos系统

yum makecache
sudo easy_install -i http://pypi.douban.com/simple/ pip
sudo easy_install pip
sudo yum install gcc libffi-devel python-devel python-pip python-wheel openssl-devel libsasl2-devel openldap-devel
#安装Superset
pip install superset #创建管理员用户名和密码
fabmanager create-admin --app superset #初始化Superset
superset db upgrade #装载初始化样例数据
superset load_examples #创建默认角色和权限
superset init #启动Superset
superset runserver 

数据库依赖

数据库 命令 链接方式
MySQL pip install mysqlclient 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 redshift+psycopg2://
MSSQL pip install pymssql mssql://
Impala pip install impyla impala://
SparkSQL pip install pyhive jdbc+hive://

改造(docker环境)

因为默认是有权限控制的,即使分享出去的图表也需要登录用户才能看到,那如何做到不登陆用户也能查看图表呢,于是改造之路就开始了。

方法一:改源码

刚开始没找到方法,不得不从从源码入手解开权限,
https://github.com/apache/incubator-superset/blob/master/superset/views/core.py这个文件
/superset/views/core.py文件922行删掉 @has_access_api注解

@log_this@has_access_api@expose("/explore_json/<datasource_type>/<datasource_id>/")def explore_json(self, datasource_type, datasource_id):try:viz_obj = self.get_viz(datasource_type=datasource_type,

1006行删掉 @has_access_api注解

 @log_this@has_access@expose("/explore/<datasource_type>/<datasource_id>/")def explore(self, datasource_type, datasource_id):form_data = self.get_form_data()

在1017行加入

viz_obj.datasource.("all_datasource_access")

增加库的访问权限,可能还有些地方要改,该方法改了源码,侵入性强,不推荐。

方法二:改配置(推荐)

/superset/config.py第127行

# ---------------------------------------------------
# Roles config
# ---------------------------------------------------
# Grant public role the same set of permissions as for the GAMMA role.
# This is useful if one wants to enable anonymous users to view
# dashboards. Explicit grant on specific datasets is still required.
PUBLIC_ROLE_LIKE_GAMMA = False

PUBLIC_ROLE_LIKE_GAMMA改为True,
注释意思
授予公共角色与GAMMA角色相同的权限集。
如果想让匿名用户查看,可以设置这里
在仪表盘对特定数据集的授权显示,也在这里设置。

加入数据库权限这里加入所有数据库权限

Public  [can explore on Superset, all database access on all_database_access, can explore json on Superset]

其中
can explore on Superset为导出图表
can explore json on Superset为导出图表json
all database access on all_database_access访问所有数据库权限,也可以设置单个

iframe嵌入


选择某个切片,点右上角

<iframewidth="600"height="400"seamlessframeBorder="0"scrolling="no"src="http://10.10.100.18:32771/superset/explore/table/2/?form_data=%7B%22datasource%22%3A%222__table%22%2C%22viz_type%22%3A%22bubble%22%2C%22slice_id%22%3A9%2C%22granularity_sqla%22%3A%22year%22%2C%22time_grain_sqla%22%3A%22Time+Column%22%2C%22since%22%3A%222011-01-01%22%2C%22until%22%3A%222011-01-02%22%2C%22series%22%3A%22region%22%2C%22entity%22%3A%22country_name%22%2C%22size%22%3A%22sum__SP_POP_TOTL%22%2C%22limit%22%3A0%2C%22show_legend%22%3Atrue%2C%22max_bubble_size%22%3A%2250%22%2C%22x%22%3A%22sum__SP_RUR_TOTL_ZS%22%2C%22x_axis_format%22%3A%22.3s%22%2C%22x_axis_label%22%3A%22%22%2C%22x_log_scale%22%3Afalse%2C%22y%22%3A%22sum__SP_DYN_LE00_IN%22%2C%22y_axis_format%22%3A%22.3s%22%2C%22y_axis_label%22%3A%22%22%2C%22y_log_scale%22%3Afalse%2C%22where%22%3A%22%22%2C%22having%22%3A%22%22%2C%22filters%22%3A%5B%7B%22col%22%3A%22country_code%22%2C%22op%22%3A%22not+in%22%2C%22val%22%3A%5B%22TCA%22%2C%22MNP%22%2C%22DMA%22%2C%22MHL%22%2C%22MCO%22%2C%22SXM%22%2C%22CYM%22%2C%22TUV%22%2C%22IMY%22%2C%22KNA%22%2C%22ASM%22%2C%22ADO%22%2C%22AMA%22%2C%22PLW%22%5D%7D%5D%7D&standalone=true&height=400"
>
</iframe>

将iframe放入任意html内即可打开。

更多样式


总结

借助superset可以帮助我们可视化进行数据库分析,支持导出导入sql语句,支持各种数据库,在图表展现方面是个不错的框架。

觉得好的话,记得关注我哦!
掘金:
https://juejin.im/user/57cd55218ac247006459c40c
Github:
https://github.com/qq273681448

巧用Superset大数据分析平台搞定各类图表相关推荐

  1. 工业大数据分析平台的应用价值探讨

    大数据经过多年的潜心发展,在当今可以说是进入到了一个快速发展期.各种围绕大数据的应用开发也迅速火热起来了.政务大数据解决方案.企业级大数据解决方案.智慧城市停车大数据解决方案等已经开始被应用.5月份一 ...

  2. 工业大数据分析平台有哪些价值

    工业大数据分析平台是利用大数据技术开发搭建的为工业企业服务的一体化信息平台.我们国家世界工厂,仅仅成为制造大国是不行的.这些年国家高新技术产业的快速发展,我们应该可以深刻感受到我们正在从制造大国向制造 ...

  3. mmTrix大数据分析平台构建实录--转

    在数据分析中,有超过90%数据都是来自于非结构化数据,其中大部分的是日志,如运维.安全审计.用户访问数据以及业务数据等,但随着互联网快速的发展,数据规模也是水涨船高,从早前的GB级到现在的TB级,甚至 ...

  4. 阿里大数据分析与应用(part3)--常用的大数据分析平台

    学习笔记,仅供参考,有错必纠 文章目录 常用的大数据分析平台 什么是大数据分析平台 基于Hadoop的大数据分析平台 阿里云大数据平台 典型阿里云大数据平台架构 MaxCompute MaxCompu ...

  5. 【转】使用Apache Kylin搭建企业级开源大数据分析平台

    http://www.thebigdata.cn/JieJueFangAn/30143.html 本篇文章整理自史少锋4月23日在『1024大数据技术峰会』上的分享实录:使用Apache Kylin搭 ...

  6. canoco5冗余分析步骤_打造高性能的大数据分析平台

    大数据时代,大数据的应用与挖掘,大数据的分析和决策,大数据在经济社会的运行轨道上发挥着愈来愈重要的作用.对于大数据分析,现在好多互联网金融公司和传统的商业银行.证券基金公司都非常看重.个个都想在大数据 ...

  7. 超详攻略!Databricks 数据洞察 - 企业级全托管 Spark 大数据分析平台及案例分析

    简介: 5分钟读懂 Databricks 数据洞察 ~ 更多详细信息可登录 Databricks 数据洞察 产品链接:https://www.aliyun.com/product/bigdata/sp ...

  8. Splunk企业级运维智能大数据分析平台新手入门视频课程上线

    Splunk企业级运维智能&大数据分析平台新手入门视频课程上线 http://edu.51cto.com/course/course_id-6696.html 2016年8月2日到5日,移动端 ...

  9. Axure高保真智慧消防远程监管系统数据可视化大屏看板+web端高保真大数据分析平台看板+大数据交换配置管理平台大屏动态可视化看板

    作品介绍:Axure高保真智慧消防远程监管系统数据可视化大屏看板+web端高保真大数据分析平台看板+大数据交换配置管理平台大屏动态可视化看板 原型交互及下载链接:https://www.pmdaniu ...

最新文章

  1. python求平方根的代码_Python求平方根(附带源码)
  2. php 接口使用场景,接口使用场景、trait基本功能
  3. android将拦截短信通过邮箱发送,网易邮箱Android客户端推出 加速布局移动互联网...
  4. 一次线上JVM调优实践,FullGC40次/天到10天一次的优化过程
  5. python画画-用python实现你的绘画梦想
  6. BZOJ - 2744 朋友圈 (二分图上的最大团)
  7. python基本运算符_06-Python基础知识学习---基本运算符
  8. TensorFlow LeNet5
  9. android button text属性中英文大小写问题
  10. ios开发之小总结「类与对象的判断方法和遍历字典的方法」
  11. 最全的响应式设计资源库
  12. 旅馆业等领域旅客入住身份核验解决方案
  13. Spring学习-Bean的理解
  14. Nifi 常用Processor
  15. recycleview添加item点击事件--作业三
  16. 《碎玉投珠》的读后感想法心得范文3800字
  17. 知乎 | 大家都见过哪些让你虎躯一震的代码?
  18. Java程序打包成jar文件
  19. 最新还不错的宝宝起名神器小程序源码+UI非常美观
  20. 开源代码学习之persepolis【一】

热门文章

  1. matlab采用向量作为标号赋值的实质是同维矩阵的赋值
  2. 分类问题常用算法之支持向量机SVM
  3. 消费品赛道新趋势洞察,赋能品牌数字化增长
  4. 从零开始的互联网建立!和班尼特福迪一起攻克难关!——网络基础(写了一半)
  5. uniapp实现自定义拍照窗口
  6. linux安装浏览器(firefox、chrome)
  7. 手机搭建php环境,Almp——安卓系统上搭建本地php服务器环境
  8. nokia x android 界面,Nokia X家族上手体验:它安卓了就活了么?
  9. kubesphere安装jupyterhub
  10. linux nginx svn 安装