2.6.1 hadoop体系之离线计算-Azkaban工作流调度系统-Azkaban介绍

2024-02-28 05:32

本文主要是介绍2.6.1 hadoop体系之离线计算-Azkaban工作流调度系统-Azkaban介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1.为什么需要Azkaban

2.常见工作流调度系统

3.各种调度工具特性对比

4.关于Azkaban


1.为什么需要Azkaban

一个完整的数据分析系统通常都是由大量任务单元组成

  • shell脚本程序
  • java程序
  • mapreduce程序
  • hive脚本等

各任务单元之间存在时间先后及前后依赖关系, 为了很好地组织起这样的复杂执行计划, 需要一个工作流调度系统来调度执行;例如,我们可能有这样一个需求,某个业务系统每天产生20G原始数据,我们每天都要对 其进行处理,处理步骤如下所示:

  • 1. 通过Hadoop先将原始数据同步到HDFS上;
  • 2. 借助MapReduce计算框架对原始数据进行转换,生成的数据以分区表的形式存储到 多张Hive表中;
  • 3. 需要对Hive中多个表的数据进行JOIN处理,得到一个明细数据Hive大表;
  • 4. 将明细数据进行各种统计分析,得到结果报表信息;
  • 5. 需要将统计分析得到的结果数据同步到业务系统中,供业务调用使用。

2.常见工作流调度系统

简单的任务调度:直接使用linux的crontab来定义(不能解决多个任务之间的依赖关系);

复杂的任务调度:在hadoop领域,常见的工作流调度器有Oozie, Azkaban,Cascading, Hamake等

3.各种调度工具特性对比

下面的表格对上述四种hadoop工作流调度器的关键特性进行了比较,尽管这些工作流调度器能够解决的需求场景基本一致,但在设计理念,目标用户,应用场景等方面还是存在显著的区别,在做技术选型的时候,可以提供参考。

4.关于Azkaban

Azkaban是由Linkedin开源的一个批量工作流任务调度器。用于在一个工作流内以一个特 定的顺序运行一组工作和流程。Azkaban定义了一种KV文件(properties)格式来建立任务之间的依赖关系,并提供一个易 于使用的web用户界面维护和跟踪你的工作流。

它有如下功能特点:

  • Web用户界面
  • 基于时间的执行任务
  • 方便上传工作流
  • 方便设置任务之间的关系
  • 工作流和任务的日志记录和审计

这篇关于2.6.1 hadoop体系之离线计算-Azkaban工作流调度系统-Azkaban介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/754504

相关文章

Python文本相似度计算的方法大全

《Python文本相似度计算的方法大全》文本相似度是指两个文本在内容、结构或语义上的相近程度,通常用0到1之间的数值表示,0表示完全不同,1表示完全相同,本文将深入解析多种文本相似度计算方法,帮助您选... 目录前言什么是文本相似度?1. Levenshtein 距离(编辑距离)核心公式实现示例2. Jac

Python中的filter() 函数的工作原理及应用技巧

《Python中的filter()函数的工作原理及应用技巧》Python的filter()函数用于筛选序列元素,返回迭代器,适合函数式编程,相比列表推导式,内存更优,尤其适用于大数据集,结合lamb... 目录前言一、基本概念基本语法二、使用方式1. 使用 lambda 函数2. 使用普通函数3. 使用 N

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详

Python中经纬度距离计算的实现方式

《Python中经纬度距离计算的实现方式》文章介绍Python中计算经纬度距离的方法及中国加密坐标系转换工具,主要方法包括geopy(Vincenty/Karney)、Haversine、pyproj... 目录一、基本方法1. 使用geopy库(推荐)2. 手动实现 Haversine 公式3. 使用py

更改linux系统的默认Python版本方式

《更改linux系统的默认Python版本方式》通过删除原Python软链接并创建指向python3.6的新链接,可切换系统默认Python版本,需注意版本冲突、环境混乱及维护问题,建议使用pyenv... 目录更改系统的默认python版本软链接软链接的特点创建软链接的命令使用场景注意事项总结更改系统的默

setsid 命令工作原理和使用案例介绍

《setsid命令工作原理和使用案例介绍》setsid命令在Linux中创建独立会话,使进程脱离终端运行,适用于守护进程和后台任务,通过重定向输出和确保权限,可有效管理长时间运行的进程,本文给大家介... 目录setsid 命令介绍和使用案例基本介绍基本语法主要特点命令参数使用案例1. 在后台运行命令2.

在Linux系统上连接GitHub的方法步骤(适用2025年)

《在Linux系统上连接GitHub的方法步骤(适用2025年)》在2025年,使用Linux系统连接GitHub的推荐方式是通过SSH(SecureShell)协议进行身份验证,这种方式不仅安全,还... 目录步骤一:检查并安装 Git步骤二:生成 SSH 密钥步骤三:将 SSH 公钥添加到 github

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方