大部分有实力的公司大数据平台发展到一定阶段,都会想着在大数据平台上做一层整合开发一个统一的对外服务平台,降低用户的使用门槛,提高开发效率。要做一个大数据服务平台对平台研发人员的能力有着较高的要求,目前这块做的好的都是一些大厂。今天我们简单谈下自研大数据分析平台任务提交方式:
1. 使用服务自带的shell 命令提交。这是大多数项目使用的方法,简单,高效,大数据平台软件升级自兼容。开源项目有:azkaban
2. 使用yarn client api 提交。大数据服务基本都支持在yarn上调度,很多公司都是基于yarn运行任务,门槛比1要高些,需要深入理解yarn api。athenax就是基于yarn api提交任务
3. 使用大数据服务原生代码提交,直接使用shell 命令所调用的java类执行。开源项目:oozie。 oozie是直接将相关支持的服务源码直接编译打包进来,提交任务时直接调用的原生类。
4. 使用开源的第三方服务或自研的服务提交。 开源项目:livy。可以使用http协议向集群提交spark任务。
自研系统明确提交方式只是其中一部分,当选择一种提交方式时,你可能还要考虑,执行用户,权限,安全认证等因素。