面向应用的离线计算系统:周期任务&组合策略

1 场景

业务应用系统想大批量利用数据中心的计算能力跑数,回传结果。比如一个个地区的详情数据。而大数据平台通常是调度平台系统,和业务系统是两个独立的平台系统,如何建立交互方式。

业务有个性化的实验策略,需要组合业务条件达到实验效果。比如捞取不同的数据实验算法策略。

2 问题

2.1业务系统和大数据系统交互

在大数据平台部署一个服务,接收业务系统的请求,转化为内部的一个调度任务。如果业务系统并发太多,不停提交到大数据的调度平台,资源会非常紧张,动不动几十G到几百G的资源使用。

2.2 任务如何生成

所有的任务其实是一个函数,函数又由多个函数组成,只是这些函数是大数据的计算函数,名为算子。算子可以串行,也可以并行。算子如何编排?

2.3任务如何执行

任务可以是一个批任务,比如spark或者hive任务。这个任务是主动触发运行还是周期运行?

3 解决

系统简单,但实用。一个API服务,一个调度任务。

面向应用的离线计算系统:周期任务&组合策略_第1张图片

业务系统通过API服务创建任务,即mysql表里的一行数据。包括任务状态、任务配置、启动时间、结束时间等信息。

对于任务的配置,可以实用json数组+Map的组合方式串联,数组的每个节点对应一个处理算子,同时可以传参数。配置好的任务,暴露一个策略名称给外部实用,实际会调用到如下json。

[
    {

你可能感兴趣的:(大数据)