位置:学校首页 > 学校动态>上海关于大数据学习Azkaban的解析
大数据的核心模块有很多,像Hadoop、spark、kafka等都是比较重要的,但也不仅仅只是这三块。今天我们就来了解一下Azkaban,了解他的使用和简介,才能更好的帮助我们去学习大数据。
Azkaban 是什么?
是由Linkedin开源的一个批量工作流任务调度器。用于在一个工作流内以一个特定的顺序运行一组工作和流程。
Azkaban定义了一种KV文件(properties)格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。
它有如下功能特点:
Web用户界面
方便上传工作流
认证/授权(权限的工作)
能够杀死并重新启动工作流
模块化和可插拔的插件机制
工作流和任务的日志记录和审计
方便设置任务之间的关系
调度工作流
项目工作区
为什么需要Azkaban?
一个完整的数据分析系统通常都是由大量任务单元组成
shell脚本程序
java程序
mapreduce程序
hive脚本等
各任务单元之间存在时间先后及前后依赖关系, 为了很好地组织起这样的复杂执行计划, 需要一个工作流调度系统来调度执行;
例如,我们可能有这样一个需求,某个业务系统每天产生20G原始数据,我们每天都要对 其进行处理,处理步骤如下所示:
通过Hadoop先将原始数据同步到HDFS上;
借助MapReduce计算框架对原始数据进行转换,生成的数据以分区表的形式存储到 多张Hive表中;
需要对Hive中多个表的数据进行JOIN处理,得到一个明细数据Hive大表;
将明细数据进行各种统计分析,得到结果报表信息;
需要将统计分析得到的结果数据同步到业务系统中,供业务调用使用。