解密 Airbnb 自助 BI 神器:Superset 颠覆 Tableau

标签: dev | 发表时间:2017-12-11 08:00 | 作者:
出处:http://itindex.net/relian


概述

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

  1. 统计计数

  2. 多维分析

  3. 机器学习

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

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

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

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

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

什么是Superset

Superset的中文翻译是超集(过去叫做Caravel),而Superset其实是一个 自助式数据分析工具同时拥有 字段级别的权限控制系统,它的主要目标是简化我们的数据探索分析操作,解放BI产品经理和Web开发工程师,它的强大之处在于整个过程一气呵成,几乎不用片刻的等待即可完成现代化的BI报表开发,实现分析师BI产品赋能。

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的情况还无能为力,需要依赖presto。

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

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

  • Superset 的使用依赖于数据工程师对底层数据OLAP的处理。

参考资料

推荐产品

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

相关 [解密 airbnb bi] 推荐:

解密 Airbnb 自助 BI 神器:Superset 颠覆 Tableau

- - IT瘾-dev
我非常认同前百度数据工程师、现 神策分析创始人桑老师最近谈到的数据分析三重境界:. 数据分析的统计计数和多维分析,我们通常称之为数据探索式分析,这个步骤旨在了解数据的特性,有助于我们进一步挖掘数据的价值. 而基于我们对数据的理解,再引入机器学习的算法对数据做出预测就变得水到渠成了. 现实世界里,大部分的公司更多时间其实没有这个精力去搭建复杂的数据分析平台,面对快速变化的业务需求,很多数据工程师都把自己的青春埋葬在SQL里了.

BI新计术介绍

- 小熊维尼 - 数据文化
BI是Business Intelligence的缩写. 在国内报表软件市场,BI常常和报表当成可互换的名词. 一部分的原因可能是因为报表通常是BI软件中应用最多的部件. 但实际上BI所包含的功能和使用范围要远远超出报表的领域. 从概念上来讲,BI包含了所有对信息提取的过程,包括数据的准备,集成,转换,存取,和信息的展示,分析,和预测.

大数据和传统BI

- - 人月神话的BLOG
对于传统企业内部,更多的应该是使用了大数据技术的传统BI平台,或者是融合了传统BI+大数据的混合平台,而不能单纯说是大数据平台. 在谈大数据平台的时候,一味去否定传统BI是不合适的. 在没有和互联网打通的传统企业内部,更多接触的仍然是结构化数据, 优先要解决的是围绕企业核心价值链的数据建模和企业战略,各业务域KPI体系的建立,决策支持和分析这些内容.

GitHub - yzhang921/CBoard: An easy to use, self-service open BI reporting and BI dashboard platform.

- -
Meta data of CBoard is stotred in embedded DB H2 with file storage, user can change or add your own configuration by yourself then build project and docker image again.

Airbnb的第一份融资演讲稿

- yasy - 雷锋网
Airbnb是最伟大的创业公司之一,在爆发前,其也有过一段时间的迷惘. 如今已经获得1.12亿融资并且估值13亿美金. 其创始人分享了该公司的第一份融资演讲稿,他们最初其实并不是想搞租房的,而是租赁气垫床的. 我们一起来看看这份演讲稿的风采吧:. 原来他们一开始的名字是叫Air&Breakfast.

国内短租服务(类Airbnb)汇总

- - 互联网的那点事...
Airbnb成立于2008年8月,总部设在美国加州旧金山市. Airbnb是一个旅行房屋租赁社区,用户可通过网络或手机应用程序发布、搜索度假房屋租赁信息并完成在线预定程序. Airbnb用户遍布167个国家近8000个城市,发布的房屋租赁信息达到5万条. AirBnB被时代周刊称为“住房中的EBay”.

Airbnb如何打造大数据引擎

- - IT经理网
在推动旅游业的大数据应用方面,没有企业比Airbnb做得更多,走得更远…. 与大多数互联网公司一样,旅行房屋短期租赁网站Airbnb也希望通过分析海量数据提升用户体验和业务营收. Gigaom最近 撰文介绍了Airbnb如何在亚马逊云的基础上打造大数据基础架构,并将数据分析作为产品和业务决策的基础,IT经理网编译整理如下:.

谢谢AirBnB, 让我没在SXSW露宿街头

- LooKing - 动点科技-TechNode
提前几个星期朋友们就说要先定好Austin的酒店,几天下来,大家都放弃了. 整个SXSW期间,市中心的几乎所有酒店全部订满. 所以朋友说他来找他在Austin的朋友,可以去蹭两个晚上的住宿就行. 经过12个多小时的飞行,在旧金山转机的时候收到朋友的来信,说他住的房间还有另外两个参加SXSW的朋友了,实在是挤不了啦.

租车领域的AirBnb,Getaround正式上线

- zou guangxian - 36氪
AirBnb是一个为旅行者提供租房服务的社区,将旅行者与家里有闲置住房的人联系到一起,目前我们可以看到它已经取得了相当的成功. 在这次TechCrunch Disrupt大会上,一家名叫Getaround的公司正式上线并获得了最终大奖. 去年9月,这家创业公司已经进入了人们的视野,Getaround为人们提供社会化的租车服务,用户通过它可以选择使用智能手机应用(App)来租用一个小时,一天或者一个星期的车.

Airbnb 新办公室,不一样的家庭风

- 小元 tinyyuan - 爱范儿 · Beats of Bits
很多互联网公司的办公室环境成为室内设计公司的案例,从前我们介绍过的办公室也不少,包括 Google、Facebook、Twitter、Groupon、Instagram 以及更多. 这次向大家介绍的是自助租房服务 Airbnb,几个月前它刚刚搬入新办公室,位于旧金山的 Potrero Hill. 互联网公司的办公室一般给人的印象是敞亮、整洁、色彩缤纷、充满创意,而 Airbnb 的办公室又有什么特点呢.