概述

我非常认同前百度数据工程师、现神策分析创始人桑老师最近谈到的数据分析三重境界:

  1. 统计计数

  2. 多维分析

  3. 机器学习

数据分析的统计计数和多维分析,我们通常称之为数据探索式分析,这个步骤旨在了解数据的特性,有助于我们进一步挖掘数据的价值。而基于我们对数据的理解,再引入机器学习的算法对数据做出预测就变得水到渠成了。

现实世界里,大部分的公司更多时间其实没有这个精力去搭建复杂的数据分析平台,面对快速变化的业务需求,很多数据工程师都把自己的青春埋葬在SQL里了。(其实我也是埋葬在SQL里的)

这几年,所谓的无埋点技术、自助式分析等等概念开始兴起,得益于数据领域的快速发展,国内外也涌现了大量基于数据分析平台的start-ups,而随着技术的发展,许多创业公司也是抱团取暖组成一个更大的团体。

考虑到国内数据安全性的问题,即使我们使用大厂比如百度的网站分析服务也很难保证数据安全性,私有化部署才是很多企业级解决方案的王道。

随着 Superset 被Airbnb的数据科学部门开源了,我看到的是有许多数据分析平台的创业公司或许要转变方向了,自助式分析将不再依赖于各大厂商!

什么是Superset

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

Superset 的特性

Superset通过让用户创建并且分享仪表盘的方式为数据分析人员提供一个快速的数据可视化功能。
在你用这种丰富的数据可视化方案来分析你的数据的同时,Superset还可以兼顾数据格式的拓展性、数据模型的高粒度保证、快速的复杂规则查询、兼容主流鉴权模式(数据库、OpenID、LDAP、OAuth或者基于Flask AppBuilder的REMOTE_USER)
通过一个定义字段、下拉聚合规则的简单的语法层操作就让我们可以将数据源在U上丰富地呈现。Superset还深度整合了Druid以保证我们在操作超大、实时数据的分片和切分都能行云流水。

数据库支持

Superset 是基于 Druid.io 设计的,但是又支持横向到像 SQLAlchemy 这样的常见Python ORM框架上面。

那Druid又是什么呢?

Druid 是一个基于分布式的快速列式存储,也是一个为BI设计的开源数据存储查询工具。Druid提供了一种实时数据低延迟的插入、灵活的数据探索和快速数据聚合。现有的Druid已经可以支持扩展到TB级别的事件和PB级的数据了,Druid是BI应用的最佳搭档。

想必,你已经受够了Hive那个龟速查询,迫不及待想体验一下这种酣畅淋漓的快感了吧!

实战

既然,要行云流水,没有Docker是不行的,想要了解一下Docker可以参考之前的文章:海纳百川 有容乃大:SparkR与Docker的机器学习实战

这里我默认你已经具备了使用Daocloud加速Docker的知识。

本地跑Docker

下载镜像:

docker pull index.tenxcloud.com/7harryprince/Superset

跑容器

docker run -p 8088:8088 -d index.tenxcloud.com/7harryprince/Superset

查询一下你的docekr ip

docker-machine ls
NAME      ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER    ERRORS
default   -        virtualbox   Running   tcp://192.168.99.100:2376           v1.9.1
dev       -        virtualbox   Saved                                         Unknown   

这里可以看到我的默认Docker的IP是192.168.99.100

所以需要在浏览器中访问 192.168.99.100:8088

这样我们又是三行代码搞定了一个大数据分析神器。

需要注意到,这个 Superset 容器里的默认鉴权配置是:

username: admin
password: Superset_admin

在线Demo

下面我提供了Superset的一个在线Demo:

http://52.33.104.157:8088/login/

下面是仪表盘的交互式分析页面:

我们可以导出JSON、CSV文件、直接得到SQL语句甚至分享页面链接。

下面是全球人口的一个分析仪表盘,感觉再改动一下就可以做信息图了,大数据分析也不在话下。

下面是我最喜欢的sankey chart:

架构

看到如此惊艳的数据产品,想必你也很想自己动手做一个吧!让我们一起看看整体的架构。

后端

整个项目的后端是基于Python的,用到了Flask、Pandas、SqlAlchemy。

  • Flask AppBuilder(鉴权、CRUD、规则)

  • Pandas(分析)

  • SqlAlchemy(数据库ORM)

此外,也关注到Superset的缓存机制值得我们学习:

  • 采用memcache和Redis作为缓存

  • 级联超时配置

  • UI具有时效性控制

  • 允许强制刷新

前端

自然前端是JS的天下,用到了npm、react、webpack,这意味着你可以在手机也可以流畅使用。

  • d3 (数据可视化)

  • nvd3.org(可重用图表)

局限性

  • Superset的可视化,目前只支持每次可视化一张表,对于多表join的情况还无能为力

  • 依赖于数据库的快速响应,如果数据库本身太慢Superset也没什么办法

  • 语义层的封装还需要完善,因为druid原生只支持部分sql。

参考资料

  • Superset GitHub地址

  • 推荐镜像 kochalex/Superset

  • 知乎:presto、druid、sparkSQL、kylin的对比分析,如性能、架构等,有什么异同?

  • mysql-db installation

  • Superset - sweet time based visualisation and dashboard reporting

  • Superset Installation

推荐产品

  • 神策分析:数据分析平台的私有化部署方案

神策目前提供私有化的数据分析平台解决方案,根据桑老师的说法,现在考虑到安全性的问题,还没有做到Docker部署,只能远程部署(大概半个小时),这里有一丝淡淡的遗憾。

作为分享主义者(sharism),本人所有互联网发布的图文均遵从CC版权,转载请保留作者信息并注明作者 Harry Zhu 的 FinanceR专栏:https://segmentfault.com/blog...,如果涉及源代码请注明GitHub地址:https://github.com/harryprince。微信号: harryzhustudio
商业使用请联系作者。

[原]解密Airbnb 自助BI神器:Superset 颠覆 Tableau相关推荐

  1. 解密Airbnb 自助BI神器:Superset

    Superset 官方文档 Superset Superset安装部署 superset介绍跟环境搭建 superset安装部署

  2. 开源自助BI工具,傻瓜式BI分析,支持多种数据源

    一:业务背景与需求梳理 公司现在的数据需求主要分为两类:临时需求(业务突然想看看这波活动的效果怎样,数据指标的定义可能随时改,随时加),固化需求(每周要看,每月要看的数据,数据的定义已经非常明确).对 ...

  3. 小米羊城通余额不足服务器维护,再不怕羊城通余额不够了!地铁站现自助补票“神器”...

    再不怕羊城通余额不够了!地铁站现自助补票"神器" 金羊网  作者:陈泽云  2018-04-16 金羊网讯 记者陈泽云报道 你有没遇到过这样情况,准备出地铁站时,却发现羊城通余额不 ...

  4. FineBI:一个简单易用的自助BI工具

    过去,有关企业数据分析的重担都压在IT部门,传统BI分析更多面向的是具有IT背景的人员.但随着业务分析需求的增加,很多公司都希望为业务用户提供自助分析服务,将分析工作落实到业务人员手中.但同时,分析工 ...

  5. 自助bi工具如何搭建数据可视化

    就工具而言,数据驾驶舱可以用Excel.JS开发.报表工具.BI工具等来实现.但对于实时更新.数据量支撑.后台响应,平台运维等需求,性能却各有差异. 用自助BI工具搭建领导驾驶舱具体步骤如下: 一.理 ...

  6. BI神器Power Query(23)-- 同一列内多重替换(3)

    示例需求:省份清单中"自治区"名称过长,在做报表展示时效果不理想,希望将其替换为简称,例如:内蒙古自治区替换为"内蒙古".这个直接使用Excel中的替换也可以实 ...

  7. BI神器Power Query(8)-- PQ从文本文件导入数据(2/2)

    文本文件是大家经常使用的数据文件格式,PQ可以方便的导入文本文件中的数据,然后在Excel可以进行后续加工和处理. 依次单击[数据]选项卡>[新建查询]>[从文件],其中的[从CSV]和[ ...

  8. BI神器Power Query(6)-- PQ从工作簿导入数据(2/2)

    对于Power BI的用户多数都是Excel重度用户,因此在PQ中导入Excel工作薄文件是多数用户都会遇到的场景,本博文讲解从工作簿导入数据时的几个典型应用方式. 续前文:BI神器Power Que ...

  9. BI神器Power Query(5)-- PQ从工作簿导入数据(1/2)

    对于Power BI的用户多数都是Excel重度用户,因此在PQ中导入Excel工作薄文件是多数用户都会遇到的场景,本博文讲解从工作簿导入数据时的几个典型应用方式. 示例工作簿文件文件中有如下4个工作 ...

最新文章

  1. socket网络编程——TCP编程流程及端口号占用问题
  2. 从工作的角度看 CV/NLP/推荐系统选哪个?
  3. okta-spring_通过Okta的单点登录保护Spring Boot Web App的安全
  4. 函数不可访问_Java中的不可变总结
  5. Spring Boot 笔记汇总
  6. 一汽大众汽车宣布召回19.1万辆国产奥迪A6L
  7. HP的“高端”磁带库!
  8. CISCO CCNA路由器密码管理
  9. 多继承 , 组合 , 菱形继承 , 接口 , 抽象 , 鸭子类型
  10. JAVA8的学习笔记之Collection
  11. 洛谷P4593 [TJOI2018]教科书般的亵渎 【数学】
  12. sh脚本异常:/bin/sh^M:bad interpreter: No such file ...
  13. 查看硬盘转速_【装机帮扶站】第538期:哪些CPU、板卡、硬盘对于普通消费者而言不太值得购买?...
  14. Matlab求解线性规划
  15. 基于IDEA Plugin插件开发,撸一个DDD脚手架
  16. linux查看目录增大了多少g命令,Linux中查看各文件夹大小命令
  17. 华为H3C配置单臂路由、静态默认浮动路由的配置方法
  18. 计算机网路络课设_学生宿舍网络规划与设计
  19. esxi虚拟机的显卡怎么来的_关于ESXI显卡直通(VmDirectPath),使虚拟机变成HTPC的若干经验 | 绿网家园...
  20. 计算机专业新生研讨课总结报告,大学新生研讨课心得体会

热门文章

  1. 太极图形课S1第06讲:光线追踪的概念与基础
  2. 深度神经网络的训练过程,深度神经网络如何训练
  3. Android 获取世界时区
  4. 基于SpringBoot和Vue实现的个人博客网站快速搭建(已开源)
  5. 信号与系统——阶跃信号与冲激信号
  6. ASO优化:关键词排名下降的原因及策略解析
  7. 关于LSB图片隐写的解法
  8. 软件测试面试题含答案
  9. Swoole 基础入门
  10. 《数论概论》读书笔记(第二章)勾股数组