分析师的挑战
在大数据时代,使用传统数据处理方式已经无法满足企业大规模数据的增长,而人工智能和IoT时代的到来让处理超大规模数据,解读超大规模数据的需求更加迫在眉睫。分析和理解超大规模数据集就成为这些企业要解决的当务之急。
一重礼: Apache Kylin 开源OLAP on Hadoop引擎
现代企业使用联机分析处理 (OLAP) 技术来分析数据,生成 表,从而帮助业务人员制订商务决策。随着大数据时代的来临和Hadoop技术的兴起,基于大数据平台的OLAP分析又给拥抱大数据的企业带来新的挑战。而Apache Kylin[1]作为Apache基金会首个开源的OLAP分析引擎,已在全球得到了广泛的应用。Kylin采取预计算技术,可以为分析师在超大规模数据集上(PB/TB级)提供亚秒级查询能力。Kylin专注于OLAP计算引擎,他提供很精妙的技术设计: Kylin的数据源除了可以来自于hadoop上的Hive数仓,还可以接收Kafka传递而来的流式数据; Cube构建引擎可以用MapReduce,一些构建步骤为了性能考量还可以选择使用Spark;构建好的Cube默认存储在HBase中; 查询则采用业界最普遍使用的ANSI-SQL查询,分析师原有的SQL查询、 表、分析等可以轻松迁移到Kylin。查询接口上Kylin已经做到ODBC/JDBC/REST ful方式,这给第三方集成提供了巨大想像空间。
这里请读者留意,Kylin设计精妙是指,Kylin松耦合的设计完全可以让数据源,计算引擎,Cube存储根据您自己使用场景而来做个性化定制——选择权在您手里。
Superset对于数据源端通过一个成熟的OR-Mapping方案对接了几乎市面上所有数据库产品,数据的分析和建模再使用Pandas统一加工序列化后由前端渲染展示. 进而前端渲染出众多富有表现力的可视化图表,这些可视化技术包括但不限于: D3,react stack,mapbox,deck.gl
笔者在使用Superset过程中也感觉到一些不足,例如无法通过权限隔离不同用户可访问的数据源,数据查询暂时不支持下钻操作,多数据源不容易做交互查询等。但是瑕不掩瑜,Superset依然是现在这个星球上最好的开源BI平台。
点击前往Monitor页面查看Cube构建的进程,知道100%完成,Cube就可以进行查询了。
前往Insight页面执行一个查询验证Cube能够返回结果。
执行如上4条命令便可以在POSIX操作系统上部署superset,如想加载Superset提供的例子数据,可以再执行
4.安装kylinpy
5.安装验证,如果一切顺利,Superset daemon应该可以跑起来了
建立连接
现在所有的准备工作已经完毕,我们来试试再Superset中创建一个Apache Kylin数据源
1.浏览器打开http://localhost:8088 帐 密码是刚才fabmanager创建的admin/admin
4.测试连接
1.点击Source —> Tables,添加Table,此处需要手动输入需要添加的表名。
使用SQL Lab查询Apache Kylin多表
熟悉Kylin的读者都知道,Kylin Cube通常都是以多表关联建模为基础生成的,因此分析Kylin Cube的数据时,使用多表进行查询对于Kylin来说是非常常见的场景。在使用Superset分析Kylin数据时,我们可以使用Superset中的SQL Lab功能来查询多表,并对其进行可视化分析。
在这里我们以一个可以击中Kylin中的sample cube ‘kylin_sales_cube’的查询为例。
你可以复制下面的完整查询来体验SQL Lab查询Kylin Cube的功能。
使用Superset的多种功能查询Apache Kylin
根据很多Apache Kylin用户在对接可视化及 表分析前端时,所提出的一些常见需求,我们对Superset的相应功能也做了一些测试,可以说企业对于 表分析及可视化展现所需要的绝大部分功能,Superset都已经可以提供了。
排序
Superset支持使用任意数据源上定义的度量进行排序,不论这个度量是否在图表上。
2.维度过滤
对于其他非时间维度,Superset也提供了维度的筛选器,支持SQL中的in,not in,等于,不等于,大于等于,小于等于,小于,大于,like等多种过滤方式。
4.度量过滤
对于度量Superset支持用户直接写入SQL的having表达式。
Top N
你可以通过对数据进行排序和设置返回行数限制来实现展示Top 10/Bottom 10等功能。
多种可视化
Superset 提供多样的可视化图表选择,这里仅以世界地图和气泡图为例作为展示。
其他功能
另外Superset还支持数据导出CSV, 表分享,查看 表SQL等功能。
中文支持
最重要的是,Superset由于 区的贡献已提供了中文版本!
Superset使用了Flask 的翻译扩展工具Flask-Babel ,使用了这个扩展包后,每个对应的语言版本只需要在翻译文件中将对应的Superset文字翻译成中文即可,这使得Superset 区的中文用户可以很容易的贡献翻译内容。

总结
多个开源项目的结合往往能产生1+1>2的效果,Kylin专注于OLAP计算引擎,Superset专注于数据可视化展现. 分析师手中的双剑合璧实现交互式分析,让企业使用大数据技术显著提升生产力。
参考
- Apache Kylin:
http://kylin.apache.org - kylinpy on Github:
https://github.com/Kyligence/kylinpy - Superset: Airbnb’s data exploration platform:
https://medium.com/airbnb-engineering/caravel-airbnb-s-data-exploration-platform-15a72aa610e5 - Superset on Github:
https://github.com/apache/incubator-superset
文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树首页概览211549 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!