从0到1构建数据生态系列之五:让你的数据生态更高效

作者&投稿:尉迟复 (若有异议请与网页底部的电邮联系)
文·blogchong

接这个系列的上一篇 《从0到1构建数据生态系列之四:与研发的爱恨情仇》 。

好像间隔的时间有点长了,中间插了好几篇其他主题的文章,我们再回归到这个系列。

从早期的数据迁移、数据上报体系的建立,再到数据多维分析BI体系的建立,再到后续的各种不同数据应用服务,诸如各种推荐服务、搜索服务、各种榜单数据的推送服务,整个数据生态已经逐渐丰满了。

随着内部数据业务的逐渐增多,我们对于这些业务服务的把控能力就越低,那么这个时候提升效率将是我们重点关注的问题。

在数据上报体系搭建的同时,我们同步开始进行各个业务团队的BI体系的搭建。

我们需要为运营、内容、电商、市场以及产品等各个业务团队提供天、月以及季度等维度的BI报表,以便各个业务团队进行数据化运营、决策。

单纯每天的BI报表多达数十个,每个报表内可能又包含N个维度的数据。

这些BI报表的基础数据来源为:上报体系提供的上报数据,业务方产生的业务数据,各种服务产生的服务数据。

先不说一些实时性的数据分析业务,单论上述的周期性的BI报表业务,我们来看一下整个业务体系的复杂程度:

单纯的BI分析业务就涉及到各种复杂的任务依赖关系,一旦前面的环出现问题,后续的其他环节容易受到影响,甚至需要花费巨大的代价去追踪哪些数据是错误的,哪些数据是不受影响的。

对于各个任务的管理也是巨大的问题,他们执行结果的跟踪,依赖网络关系的管理等等。

所以,一方面提升整个业务体系的健壮性,另一方面提升业务体系的效率,有必要引入调度系统进行整个业务体系的调度。

简单服务内部级别的时间调度Timer,再高级点的ScheduledExecutorService,JCronTab等,当然也有系统级别的略微重度的Quartz。

但他们都是基于时间维度的调度框架,对于我们的需求来说,依然太过于轻量级,无法满足需求。

我们需要的是一个系统级别,能够进行任务进行调度,对任务依赖关系进行管理,对任务执行进行追踪等,具备这些复杂功能的调度系统。

我们曾一度调研过早期阿里开源出来的Zeus,并且在之前的工作经历中也曾一度使用过它。

首先宙斯出自于淘宝,品质相对有保障,应用于hadoop作业调度而生,对整个生态契合度高,支持MR、Shell、Hive等各种界面化调度,并且各种配置可视化,使用成本相对较低。

更多的优点就不多说了,感兴趣的可以查找一些资料了解,它还曾一度获得过热门开源项目的头衔。

但结合实际,我们最终还是舍弃了它,一方面我们整个集群使用的是CDH体系,想要嵌入宙斯需要改动的东西很多,二次开发的成本略大,并且实际部署略微复杂,BUG还不少,就目前这个状态,我们并没有太多的时间去折腾。

并且, 整个项目好像维护的并不是很好 ,这意味着一旦上线了,风险还是蛮大的。

CDH对他天然支持,能够与我们目前的集群体系无缝对接,省却了所有的部署成本,暂时阶段只需要把精力放到学习使用上即可。

通过oozie的工作流机制,加上hue的可视化配置,基本可以满足我们上述的那些问题。

使用oozie+hue的方案,进行各种服务的管理,hive依赖任务的调度,错误的报警,错误日志的追踪等,一站式解决问题。

不过,我们在使用的过程,依然遇到了一些坑,以及解决了一些坑。

例如中文编码的问题,又例如如何处理日渐壮大的依赖树,一旦底层依赖出现故障会造成大片上层依赖任务的中断等等。

我们把部分的依赖判断回归到程序中,而不是统统交给oozie的依赖树来管理,避免部分底层依赖错误造成大面积上层任务中断,这样可以做到部分任务可以继续执行,进行依赖分拆,减少大范围任务重跑的风险。

这里其实有个故事。

曾有一天,业务人员反馈BI分析报表数据好像有问题,整个数据对不上。

数据测马上启动了对问题的排查,通过一顿的各种数据查询,汇总计算,才发现早在三四天前数据就开始异常了,再进行跟踪,发现那天刚好更新了新版本。

再跟踪问题,发现客户端很多模块进行重构,而之前的相关埋点点位受到了影响,客户端方面没有进行知会, 在测试时又没有进行这部分抽查回归测试。

于是,随着版本的更新覆盖,丢失了很多基础数据。

这是一个惨痛的教训,随后,我们一方面制定埋点测试的方案、进行埋点完整性质保方面的梳理,另一方面数据测启动了对数据上报体系的监控。

于是就有了如图,我们对每天,一些重要维度的上报进行了数据统计可视化,检测点位的数据量波动,每天可以随时查看上报情况,此外,根据实际情况建立异常报警模型,一旦发生上报异常进行主动邮件预警,及时跟进。

趋势图是使用echarts画的,页面是spring boot+jsp框架,数据部门从此又多了前端技能,哈哈。

整个检测体系很简单,很粗暴,但是确实有效,对于内部使用,实时掌握上报动态,足够了。

此外,我们还简单的通过守护脚本进程,替代了ganglia+nagios的系统性方案,对各个节点的服务进行监控,进行图表可视化监控,主动预警等。

在上一篇中,我们描述过数据上报完整性测试的痛处。

我们需要花费巨大的人力去保证整个上报体系的健壮,因为对于H5页面还好,但对于客户端埋点,客户端一旦发布,出现故障只能通过发布紧急修复版本进行解决,但一样会耽误很多时间,因为整个发布周期至少都是好几天的。

出现如上故事之后,我们着手进行埋点完整性测试机制的搭建。

我们通过测试账号注册的机制,来分离正常账号的流量以及测试账号的流量,通过时间将点位轨迹进行串联,再打通整个实时流程,并且进行点位访问轨迹界面化展示。

基本实现一边点击点位,一边看到上报轨迹,完全同步,一改往日通过日志拦截的方式进行点位测试,根据埋点的编码表,普通的测试人员都可以介入。

数据上报测试机制的完善,大大降低了埋点故障率,确保了上层BI分析业务的健壮性。

即使我们每天为业务部门提供了数十个BI分析的报表,但依然避免不了,我们的BI童鞋每天为各种BI需求奔走。

诸如,电商活动的各种数据调研,产品端各种调研性的数据提取,运营方不同运营位不同运营活动的跟踪等等,这些都是很难做到常规化BI的数据分析提取需求。

但是很多又确确实实是重复性工作,只是因为变量太多,无法做到自动化。

于是,我们开始着手尝试,是否能将部分查询分析的工作转移到业务人员身上,让他们自己去获取自己需要的数据,降低数据团队的压力呢?

我们开始逐渐完善以HUE为核心的自助查询系统,健全自助数据分析体系。

我们对一些Hive的表权限进行隔离,对不同的业务方定制查询模板,模板上注明详细的使用方式,让不懂SQL的业务人员也能根据模板进行一些数据的查询提取等。

例如,运营人员根据查询模板就可以很愉快的改改URL变量,改改时间变量等,拿到他们所需要的对应运营位的各种活动数据,对于我们数据的依赖程度大大降低。

不过,讲真。HUE的整个体系对于那些一点SQL基础的业务人员还是有些使用成本,所以在时机成熟的情况下,还是有必要封装一套高度界面化的自助查询分析系统。

此外,就是我们需要对权限进行严格的隔离,对使用频度进行限制,不然大批量错误的查询会让我们的机器资源过度浪费。

不管怎么样,开放自助查询定然是一个需要去做的事情,将数据童鞋的人力进一步释放出来,放到更有意义的方向上去。

在数据时代,效率至上,所谓效率,不单纯是整体业务的效率,同样也是对应于内部效率的提升。

不需要说足够完整,在有限的资源下,能够有限解决当前的问题,能够提升一定程度的效率,就是可执行的方案。

从0到1构建数据生态系列:

《从0到1构建数据生态系列之一:蛮荒时代》

《从0到1构建数据生态系列之二:拓荒》

《从0到1构建数据生态系列之三:解析架构图》

《从0到1构建数据生态系列之四:与研发的爱恨情仇》

《从0到1构建数据生态系列之五:让你的数据生态更高效》

《从0到1构建数据生态系列之六:数据价值体现》

~

从0到1构建数据生态系列之五:让你的数据生态更高效
答:从0到1构建数据生态系列: 《从0到1构建数据生态系列之一:蛮荒时代》 《从0到1构建数据生态系列之二:拓荒》 《从0到1构建数据生态系列之三:解析架构图》 《从0到1构建数据生态系列之四:与研发的爱恨情仇》 《从0到1构建数据生态系列之五:让你的数据生态更高效》 《从0到1构建数据生态系列之六:...

私域运营体系搭建教程,从0到1搭建运营体系!
答:一、搭建私域模型,定位先行 在搭建私域用户模型前,一定要想清楚一个问题:运营私域用户,到底为了什么?和公司短期目标、中长期目标到底是什么样的关系?提供给用户独特的价值,让用户进到私域用户池后,能够留下来、产生更多的交互行为,建立社交关系、信任关系。- 二、找到承载用户的载体 VX生态内常用侧...

保险业大数据运用何以“从0到1”
答:在车险领域,除获得车型数据、汽车零整比数据、二手车数据以外,险企还使用车载传感设备收集驾驶员行为风险,开发UBI车险;在寿险领域,险企利用可穿戴设备能够实时监控人体健康情况(运动量、睡眠、心跳等),弥补了生命表对于洞察细分群体的人体健康及生死概率的能力不足。 值得一提的是,对来自互联网和社交...

阿里启动“万树计划”扶持数据产品服务商 | 干货分享
答:5月20日,阿里巴巴数据服务生态大会在杭州举办,并正式启动了数据服务生态“万树计划”。 据介绍,“万树计划”的寓意在于,一是想让更多服务商加入到数据服务的行列,每一个服务商都能成长为参天大树;更进一步,希望万树成林,与平台一起构筑更 健康 的商业生态,让客户的生意风调雨顺。 此次大会上,阿里副总裁、数据技术...

科技部部长王志刚:重视颠覆性技术突破,加强从“0”到“1”基础研究
答:中国将着力增强 科技 创新的体系能力,提高国家创新体系的整体效能。 高度重视颠覆性技术突破,加强从“0”到“1”的基础研究。用 科技 之力助推精准脱贫、可持续发展和生态文明建设,为实现以人民为中心的发展提供更多 科技 支撑。他表示,培育更多区域创新增长极,加快推进北京、上海 科技 创新中心建设。

EpiK团队:打造共建共享共益的开源知识平台
答:Epik生态参与者包含五个角色:持币用户、数据矿工、领域专家、赏金猎人、数据网关。把这些角色按照数据从生产到存储到使用这三个过程,数据产生的团体包含三种角色,一个是核心用户,一个是领域专家和赏金猎人,核心用户是可以通过投票来票选出领域专家,确保领域专家的权威性和专业性,领域专家是一个非常核心的的人物,负责组...

如何在c++定义一个学生类以实现平均成绩的计算和查询功能?
答:ROS 2尽管在功能上跟AUTOSAR AP有不少重叠之处,但两者的思路是不一样的:(1).从表现形式上看,AUTOSAR AP首先是一套标准,这个标准定义了一系列基础平台组件,每个平台组件定义了对应用的标准接口,但没有定义实现细节,和平台组件之间的交互接口(这些部分留给AUTOSAR AP供应商实现);ROS2则从一开始就是代码优先,...

在“1%”中寻找突围,新品牌营销如何“从0到1”?
答:1、认知战:解决进入用户心智问题 2、形象战:解决品牌形象问题 3、流量战:解决品牌流量问题 作为协同时代的产品设计工具,MasterGo又是如何通过这三场关键战役,实现品牌“从0到1”突破的呢? 抓住关键事件以事件营销撬动大众认知 互联网的普及让讯息和服务迅速进入过载时代,尤其是在大数据算法驱动下,无数人感觉到注意...

如何从0到1做好用户运营
答:自然就是要去培养用户的忠诚度了,慢慢形成口碑,这个都是大家比较熟的套路了,很多人倒流这一步也就停止了,但其实后面还有很重要的一步-捆绑核心用户,什么算核心用户呢,就比如微博或知乎里面的大V,这群人是关系到整个用户群体能不能大规模增长和留存的关系。完成了这4步,用户运营的生态就可以进入...

活动与探究 课题1:家乡农村农业合作化 课题2:对资本主义工商业进行社会 ...
答:而在这方面,政府也给予大力扶持,连续几年投入上百万打造品牌,松阳银猴系列绿茶通过了绿色食品认证,其系列标准经过多次修订后,已开始申报省地方农业标准。农村专业合作组织从2001年开始起步,运作还比较松散。通过茶叶产业的经营,该乡农民人均收入较之传统农业有很大提高,达4388元,高于全县平均水平。2.存在的主要问题1) ...