数据平台调度系统的设计

文章出自: http://blog.csdn.net/lili72

1、 能定时发起各类型的任务

1.1  任务类型比如 shell脚本,或者jar 程序,或者调用存储过程

1.2  可以设置每天什么时候开始执行,每天执行几次。或者每隔多久执行一次(类crontab)

1.3  数据平台一般的任务类型有:

1.3.1    101任务: 检查数据源文件是否到齐(包括文件个数,或者是.ok文件),如果到齐,把任务状态标志为成功,如果没有到齐循环多次检测,任务状态标志为进行中。可能由于各种原因会导致数据源延迟,所有需要多次循环检测数据源,而不是把该任务标志位出错。而如果数据源迟迟没有成功执行,会影响到后面所有的报表ETL任务,所以最好的设计是假如数据源检测任务超过一定的时间没有成功完成,则预警到对应的负责人。短信或邮件通知负责人需要处理该数据源,数据源很可能出现问题。最好一个数据源配置一个101任务,而不是所有的数据源配置一个任务,这样就尽量减少了数据源之间的耦合。不会因为某个数据源的延迟或问题影像整个数据平台的数据。实现方式可以是shell脚本,检查对应数据源的.ok文件是否生成。灵活一点可以用程序实现,把要监控的内容都配置到数据库中,程序通过读取数据库中的配置内容检测各数据源的到达情况。

1.3.2    102任务:加载数据到hdfs中。判断各自的数据源依赖任务是否已经成功完成,如果完成进行加载任务。

1.3.3     103任务:数据清洗转换。这里有数据去重,数据转码,去掉脏数据等

1.3.4    104任务:执行报表或者其它数据应用层转换。

1.3.5    105任务:清理任务(清理一些日志或者很久不用的数据),或者数据转移任务,把数据sqoop到关系型数据。

2、 能在依赖完成之后才开始执行(执行任务之前,首先必须检测自己的依赖任务是否已经成功执行完成,如果是则执行当前任务,否则当前任务进入等待队列)

3、 能触发下级任务执行(当前任务成功执行完成,触发依赖当前任务的下级任务开始执行)

4、 支持并发操作(多个没有关系依赖的任务,可以同步执行)

5、 支持分布式调度 (如果调度的任务很多,在一台机器集中触发,对该台机器的压力很大,最好可以分布在多台机器上执行)

6 、任务分配优先级(有些报表,或者算法优先级别比较高,需要尽快完成)

7、 可以可视化管理任务(比如:手动停止正在运行的任务,手动触发其它任务运行)

8、 出错可以多次自动重新发起(由于平台本身的bug hadoop,hive等都有自身的bug,重新发起一次,就可以正常运行了,hive中最常见的是高并发找不到表Table ‘hive.DELETEME1414791576856‘ doesn‘t exist)。

9、 出错会记录出错日志并预警。(有了日志可以很快定位出问题的原因,或者记录任务在hadoop中的jobid,可以到hadoop的日志中查询任务的报错原因)

10 、 记录任务的执行时间(包括开始执行时间,结束时间,任务耗时,记录这些时间可以评估整个调度系统的繁忙时间和空闲时间,有利于后续配置任务,同时可以监控任务的运行情况,优化某些任务)

当然大家可以先研究下开源的淘宝调度:

easyschedule   http://code.taobao.org/p/easyschdeule/src/

时间: 2024-11-07 01:12:19

数据平台调度系统的设计的相关文章

【大数据干货】基于Hadoop的大数据平台实施——整体架构设计

大数据的热度在持续的升温,继云计算之后大数据成为又一大众所追捧的新星.我们暂不去讨论大数据到底是否适用于您的公司或组织,至少在互联网上已经被吹嘘成无所不能的超级战舰.大数据的热度在持续的升温,继云计算之后大数据成为又一大众所追捧的新星.我们暂不去讨论大数据到底是否适用于您的公司或组织,至少在互联网上已经被吹嘘成无所不能的超级战舰.好像一夜之间我们就从互联网时代跳跃进了大数据时代!关于到底什么是大数据,说真的,到目前为止就和云计算一样,让我总觉得像是在看电影<云图>--云里雾里的感觉.或许那些正

大数据平台粗略架构和数仓设计步骤

大数据平台粗略架构   数据仓库设计步骤 1.确定主题 主题与业务密切相关,所以设计数仓之前应当充分了解业务有哪些方面的需求,据此确定主题 2.确定量度 在确定了主题以后,我们将考虑要分析的技术指标,诸如年销售额之类.量度是要统计的指标,必须事先选 择恰当,基于不同的量度将直接产生不同的决策结果. 3.确定数据粒度 考虑到量度的聚合程度不同,我们将采用"最小粒度原则",即将量度的粒度设置到最小.例如如果知道某些数据细分到天就好了,那么设置其粒度到天:但是如果不确定的话,就将粒度设置为最

电商峰值系统架构设计--转载

1.1 系统架构设计目录 摘要:双11来临之际,<程序员>以“电商峰值系统架构设计”为主题,力邀京东.当当.小米.1号店.海尔商城.唯品会.蘑菇街.麦包包等电商企业,及商派.基调网络等服务公司,分享电商峰值系统架构设计的最佳技术实践. 自2009年11月11日,淘宝商城(现名天猫)拉开网购狂欢节的序幕,各大电商的促销浪潮此起彼伏.此时的电商大战不仅是价格之争,更是技术的较量.如何设计电商峰值系统来更好地满足用户蜂拥而至的访问,如何在海量数据处理中实时发现有效信息并转化为商机,成为众多电商企业密

深入大数据平台心脏:饿了么调度系统全解

随着饿了么在大数据应用的不断深入,需要解决任务数量增长快.任务多样化.任务关系复杂.任务执行效率低及任务失败不可控等问题. 饿了么大数据平台现状:每天完成大数据任务计算 54000+;节点集群 85 台. 开源解决方案 Ooize Ooize 基于工作流调度引擎,是雅虎的开源项目,属于 Java Web 应用程序.由 Oozie Client 和 Oozie Server 两个组件构成. Oozie Server 运行于 Java Servlet 容器(Tomcat)中的 Web 程序.工作流必

如何设计实时数据平台(设计篇)

我抽数故我存在 | DBus 人人玩转流处理 | Wormhole 就当吾是数据库 | Moonbox 颜值最后十公里 | Davinci 导读:实时数据平台(RTDP,Real-time Data Platform)是一个重要且常见的大数据基础设施平台.在上篇(设计篇)中,我们从现代数仓架构角度和典型数据处理角度介绍了RTDP,并探讨了RTDP的整体设计架构.本文作为下篇(技术篇),则是从技术角度入手,介绍RTDP的技术选型和相关组件,探讨适用不同应用场景的相关模式.RTDP的敏捷之路就此展开

如何设计企业内部的数据平台?

数据平台的建设可以当做一个产品来设计.从广义上来讲,所有以数据驱动为核心的都可以称为数据产品(如数据报表平台,DMP,BI平台),从狭义上来讲,就是公司内部的数据平台.今天我们要讨论的,主要是在公司内部搭建数据平台. 公司的内部数据平台,主要是给各业务提供数据处理.分析.展示,供内部所有部门人员使用的,涉及数据的收集(填报).数据的整合.业务报表制作.业务员数据分析以及可视化数据展示,目的是让公司内部的所有业务都能通过数据来驱动和辅助决策.简单点讲就是通过数据分析平台来驱动公司内部的数据化运营.

Java开源生鲜电商平台-RBAC系统权限的设计与架构(源码可下载)

Java开源生鲜电商平台-RBAC系统权限的设计与架构(源码可下载) 说明:根据上面的需求描述以及对需求的分析,我们得知通常的一个中小型系统对于权限系统所需实现的功能以及非功能性的需求,在下面我们将根据需求从技术角度上分析实现的策略以及基于目前两种比较流行的权限设计思想来讨论关于权限系统的实现. 1.1.       技术策略 l         身份认证 在B/S的系统中,为识别用户身份,通常使用的技术策略为将用户的身份记录在Session中,也就是当用户登录时即获取用户的身份信息,并将其记录

面向机器学习:数据平台设计与搭建实践

机器学习作为近几年的一项热门技术,不仅凭借众多"人工智能"产品而为人所熟知,更是从根本上增能了传统的互联网产品.在近期举办的2018 ArchSummit全球架构师峰会上,个推首席数据架构师袁凯,基于他在数据平台的建设以及数据产品研发的多年经验,分享了<面向机器学习数据平台的设计与搭建>. 一.背景:机器学习在个推业务中的应用场景 作为独立的智能大数据服务商,个推主要业务包括开发者服务.精准营销服务和各垂直领域的大数据服务.而机器学习技术在多项业务及产品中均有涉及:基于用户

38、生鲜电商平台-会员积分系统的设计与架构

说明:互联网平台积分体系主要用于激励和回馈用户在平台的消费行为和活动行为,一个良好的积分体系可以很好的提升用户的粘性及活跃度. 一.互联网平台积分体系设计必要性 互联网平台积分体系是一个独立.完整的系统模块,主要用于激励和回馈用户在平台的消费行为和活动行为,通过积分体系可以激发与引导用户在平台的活跃行为,逐步形成用户对平台的依赖性和习惯性,提升用户对平台的黏度和重复下单率. 积分体系在保持系统独立性的同时,又与平台会员系统.商品系统.订单系统等具有紧密的关联性,积分体系的规划设计需与平台其他系统