阿里云
当我们接到一个需求,首先会进行需求分析,然后做工作流设计,比如这个任务是什么时候跑的、依赖于哪些业务。工作流设计完成后进行数据采集和数据同步。接下去就是数据开发,我们提供了WEB-IDE,支持SQL、MR、SHELL和 PYTHON等。然后我们提供了冒烟测试的场景,测试完成后发布到线上,让它每天定时进行自动调度,并进行数据质量监控。以上步骤都完成后,就能把我们的数据环流到业务系统库,或者用QuickBI、DataV这些工具进行页面展现。
我们设计的任务是离线的,每天会在12点的时候把设计的任务变成一个实例快照。目前我们的任务依赖在业内也是最先进的。
现在最常见的需求就是每天有日报,每周要写周报,每月要写月报。为了节省资源,就可以使用日报的数据直接转成周报或月报。
线上系统在每天6点的时候要保证数据已经回笼到业务系统,系统要开始使用了。
如上图所示,假设有D和E两个任务,它们依赖于B和A。任务D的运行时间是1.5小时,E是2小时。我们必须确保B每天在4点之前把B的任务运行完成,一般正常运行时间是2小时。那就要保证A每天任务完成的时间不晚于2点。如果A的运行时间是10分钟,到1点的时候发现A的任务失败了,这时就能计算出A还剩下多少余量,我们可以进行人工监督排查。在1:50之前人工介入,从而保证任务D和E能在6点前准时产出。
总结
如图所示,MaxCompute是图上小人的“心脏”,所有运行的任务都在MaxCompute里面。调度是数据架构的“大脑”。“眼睛”是数据监控,目前在数据架构平台上它还是一个“近视眼”,还没有正式推出。数据集成就像两只“手”,不停地从其它地方搬运数据。底层的开发环境和运维中心就像两条“腿”,保证整个数据架构平台走得更远。而数据质量就像是一个“人体健康中心”,也就是数据质量的监控。
工程师
联系客服