数据分析是业务发展的关键驱动力,通过洞察市场趋势、优化运营策略、提高决策效率,可以有效帮助企业在激烈的竞争中取得发展优势。然而随着移动高清业务的逐渐成熟,不定时、不定周期、不定频率的相同数据分析工作逐渐增加,如:用户留存分析、用户活跃分析、用户画像分析……,一级大屏运营支撑平台现有的数据处理方式存在开发周期长、人力成本高、缺乏灵活性等问题,研发人员需配合产品及运营人员处理大量的数据查询、计数、去重、聚合等数据检索需求,重复性工作多且时效性低,无法满足业务高量发展的需求。为解决以上问题,本文提出一种基于低代码的交互式数据分析协作工具,通过图形界面和可视化建模技术,为移动高清业务分析提供模块化、规范化、自动化的统一数据访问和交付入口,从而可以快速响应业务需求,降低开发成本,提高灵活性。
本工具基于Apache Zeppelin进行二次开发,工具结构分为数据层、核心功能层和可视化层,具有数据分析任务调度、分布式计算、跨引擎关联、在线协作、行为监控、数据可视化等功能。
图1:低代码交互式数据分析工具架构设计
数据层:适配Hive、MongoDB、HBase、ClickHouse、MySQL等RDBMS与非RDBMS数据库,提供统一数据访问入口。
核心功能层:包含跨引擎关联查询解释器、行为监控、多人协作、各数据库专用解释器、系统日志和权限控制等多个模块。一方面采用Dolphin Scheduler进行取数任务调度管理,并依托Spark实现分布式计算,通过跨引擎关联解释器提供跨数据库关联查询能力,有效提高数据资产利用率;另一方面基于在线协作文档技术,实现代码和图表的多用户视角同步更新,提高在线联调效率,大大缩短研发周期。此外,通过数据访问行为监控模块结合数据权限管理,可以有效保护数据资产安全。
可视化层:接收解释器处理后的规范化数据,依托低代码技术实现以图表为单位的web模块,以表格、饼图、柱状图、折线图、散点图等形式进行展示,并提供数据导出功能,可满足大部分数据可视化需求。
以下是低代码交互式数据分析工具的核心实现逻辑,通过开发多种数据库的Catalog,可以完成各类DDL和DML的接口实现,基于Multiple Catalog特性,自动汇聚Zeppelin各专用解释器配置信息并注入到Spark,通过Catalog name区分各个数据库,充分利用Spark分布式计算能力,使跨引擎查询成为Spark SQL的内置能力,从而与Zeppelin深度结合,进一步降低跨引擎查询的门槛。
图2:低代码交互式数据分析工具核心实现逻辑
在应用成效方面,目前该工具已完成19个数据库的适配,并应用于中国移动智慧家庭运营中心一级大屏运营支撑工具项目,纳管2亿+移动高清大屏数据,累计节省开发及产运人力3人年。以新/老用户次日/近三日/近七日留存率统计为例,传统查询方式需耗费20-30分钟,通过本工具在线协作查询,可缩短至5分钟以内,并直接呈现为图表。
在可推广性方面,由于工具内所有组件都在JVM内运行,借助于JVM良好的跨工具兼容性,可以通过BASH脚本轻松实现一键部署,无需考虑组件依赖兼容性问题。同时,借助于跨引擎关联解释器,可接入Hive、Mysql、MongoDB等主流数据库进行跨库、跨引擎数据关联查询,在具备Spark组件的集群中可以实现一键部署上线,轻松接入。
未来,随着数字化转型的加速推进和市场需求的不断增长,低代码交互式数据分析工具依靠其更高的灵活性和可扩展性,将更好地满足业务高质量发展的需求,提供更加高效、灵活、智能的数据洞察力和决策支持,推动中国移动智慧家庭领域的数字化转型和业务发展。