Superset 助力企业级大数据 Ad-hoc 查询
导语 | Apache Superset是一个现代的数据探索和可视化平台,可以帮助分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。本文基于供应链行业大数据实时分析场景,集成Superset分析工具进行相应解读。
本文主要围绕以下几点进行阐述:
1.业务推动
2.历史演变
3.BI数美现状
4.BI数美未来
一.业务推动
纵观过去的十几年,数仓有了很大的变化,从开始的T+1模式,到后来的微批处理模式以及现在的实时数仓模式,变化不可谓不大,相应的也在给我们释放一个强烈的信号:业务需求的响应时间要求越来越短。
身为一枚资深程序猿,你会发觉现在的存储引擎真的是如雨后春笋一般层出不穷,从常见的关系型存储(MySQL、sybase..)、列式存储(C-Store、Vertica..)、键值存储(Cassandra、HBase..)、文档存储(ES..)、图存储(Neo4j、JanusGraph..)到目前的数据湖(Hudi、Delta、Iceberg..);而这一系列的存储引擎无疑又使得数据分析的难度加大了不止一点点。
以上的种种都在推动我们拥有一套可以应对各种Scene且强大的数据分析平台。
二.历史演变
在T+1模式的模式的数仓时代,我们使用【Binlog + DataX + Sqoop + Hive + Kylin】架构进行处理,但是随着业务Scene的不断复杂化以及时效性要求,导致Kylin并不适合我们(光Cube的预定义这一点就很糟糕...)。
在微批处理模式的数仓时代,我们使用【Binlog + Maxwell + Kafka + Spark Streaming/SQL + HBase + Saiku】架构进行处理,在其之上用户可以根据业务需求进行各种维度的组合处理,然而其各种Schema的编辑让人感觉到很糟糕,只能再次上路,选择适合我们的数据分析工具。
本着用户Apache社区的想法,我们开始对Superset的考量适用,渐渐的发觉这个是我们在寻找的(虽然现在还有的痛点待解决);而且现在架构也进行了又一次的架构迭代【Binlog + Maxwell/MCP + Kafka + Spark Streaming/SQL / Flink + HBase/Iceberg/Druid + Superset】。
三.BI数美现状
改进
介于公司的整体架构考量,我们调整登录方式(集成用户中心)
介于业务数据呈现形式多样化需求,我们集成一定的Echarts图表
介于使用时版本(0.28.1)问题,我们自研相关数据行级权限功能(初版已经开始使用),最新版本(0.38.0已push该功能,测试中...)
介于Excel相比于Csv使用的广泛性,我们调整图表以及SQL导出结果为Excel形式
其余各种小项也进行了适当调整:图表数据精度、图表放大、COUNT_DISTINCT精度(使用Unique函数替换)、水印集成...
痛点
行级安全功能待完善
目前涉及的业务系统数据以及操作人员众多,亟需数据的行级安全功能上线;
项目/销售等人员,每个人负责的客户不同,客户数据不允许互通;财务等敏感数据更需求安全的环境;
告警消息自动发邮件
针对大促相关报告数据需要以[h/min]维度进行汇报,现有需要人员手工操作,故需要解放人员,减少人工介入;
四.BI数美未来
基于目前使用现状,我们对Superset有以下的几点规划:
上线健壮的行级权限功能
上线自动发送邮件功能
集成更多形式的图表(Echarts、AntV、HighCharts、VX、D3...)
引入更多的Databases[ES、Postgres、Spark SQL...](目前集成Druid、MySQL)
多数据源整合出图(针对模型交叉的场景,可能需整合多个领域模型进行一张图表的呈现)
结语
时代在发展,脚步在前进,大数据浪潮下各种各样的服务组件百花齐放,没有谁比谁好,存在必有其价值,不同的Scene,使用不同的工具而已,适合的才是最好的。
版权声明: 本文为 InfoQ 作者【麻婆豆腐没麻婆】的原创文章。
原文链接:【http://xie.infoq.cn/article/bccc80b89037f8b12a6587421】。文章转载请联系作者。
评论