Azkaban初认识

news2025/1/16 8:13:51

Azkaban初认识


文章目录

  • Azkaban初认识
    • Azkaban是什么?
    • 为什么需要工作流调度系统?
    • 常见的工作流调度系统
    • Azkaban 与 Oozie的对比


Azkaban是什么?

Azkaban是一个开源的分布式工作流管理器,在LinkedIn实施,以解决Hadoop作业依赖性的问题。我们有一些工作需要按顺序运行,从ETL工作到数据分析产品。

为什么需要工作流调度系统?

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

比如说:Shell 脚本程序,Java 程序,MapReduce 程序、Hive 脚本等

(2)各任务单元之间存在时间先后及前后依赖关系

(3)为了很好地组织起这样的复杂执行计划,需要一个工作流调度系统来调度执行;

举个栗子:

  • 假设某个业务系统每天产生20G原始数据,我们每天都要对其进行处理

    • 先将原始数据同步到HDFS上(HDFS
    • 对原始数据进行计算(MapReduce
    • 生成的数据以分区表的形式存储到多张Hive表中(Hive表)
    • 多张Hive表进行Join操作得到一个`明细数据大表(Hive大表)
    • 将明细数据进行复杂的统计分析,得到结果报表信息(结果报表)
    • 将统计分析得到的结果数据同步到业务系统中(业务系统)
  • 总结:为了很好地组织起这样的复杂执行计划,我们就迫切需要一个工作流调度系统来调度执行相应的任务

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IZLcynr0-1676189701174)(1.png)]

常见的工作流调度系统

  • 简单的任务调度:直接使用 Linux 的 Crontab 来定义;

  • 复杂的任务调度:开发调度平台或使用现成的开源调度系统,比如 Ooize、Azkaban、Airflow、DolphinScheduler 等。

Azkaban 与 Oozie的对比

总体来说,Ooize 相比 Azkaban 是一个重量级的任务调度系统,功能全面,但配置使用 也更复杂。如果可以不在意某些功能的缺失,轻量级调度器 Azkaban 是很不错的候选对象。

总的来说,使用Azkaban而不是Ooize 的最大原因是它符合了我们的基本日常使用需求,并且它是轻量级的调度系统,不会过度地加大我们的系统压力,以免造成不必要的故障。

全文结束!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/678764.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RT-Thread-03-栈空间分配

栈空间分配 线程状态转换图: 系统滴答时钟 每个操作系统都存在一个系统时钟,是操作系统中最小的时钟单位。这个时钟负责系统和时间相关的一些操作。这个时钟由硬件定时器的定时中断产生。 系统时钟的频率需要根据芯片的处理能力来决定, 频…

【MySQL基础 | 第一篇】数据处理之基本查询

前言 查询语句属于DML(Data Manipulation Language)数据操作语言的其中一种,用于从数据库中提取所需的数据。通过灵活的条件和组合,查询语句帮助用户有效地获取、过滤和排序数据,满足各种信息需求。 文章目录 前言1️⃣…

团体程序设计天梯赛-练习集L1篇⑨

🚀欢迎来到本文🚀 🍉个人简介:Hello大家好呀,我是陈童学,一个与你一样正在慢慢前行的普通人。 🏀个人主页:陈童学哦CSDN 💡所属专栏:PTA 🎁希望各…

编译原理笔记17:自下而上语法分析(4)LR(0)、SLR(1) 分析表的构造

目录 LR(0) 文法LR(0) 分析表的构造例 SLR(1) 文法SLR 分析表构造 非 SLR(1) 文法举例二义文法都不是 SLR(1) 文法不是二义文法的非 SLR(1) 文法 LR(0) 文法 若一个文法 G 的拓广文法 G’ 的识别活前缀的自动机中的每个状态(项目集)均不存在下述情况&…

【一文通】C/C++与Go语言混合编程入门级教程(Windows平台完成)

一、概述 Go语言可以通过自带的 cgo 工具进行 CGO 混合编程,这个工具放在go安装目录的 pkg\tool 下,其源代码则在 src\runtime\cgo 里面,当然作为入门教程本文不打算对cgo的实现原理进行深入研究,仅从 Hello World 的角度来实际体…

快速查询银行卡发卡省市和归属银行,了解自己的财务状况!

API接口是现代软件开发的基本组成部分。它们允许应用程序通过互联网连接到其他软件系统,并从这些系统中获取或传输数据。银行卡归属地查询API接口是为开发人员提供的一种工具,可以帮助他们轻松地查询银行卡的归属地信息。在本文中,我们将介绍…

内网横向移动—IPCATschtasks

内网横向移动—IPC&AT&schtasks 1. IPC介绍1.1. IPC利用条件关系1.1.1. IPC$空连接介绍1.1.2. 139与445端口介绍1.1.3. 默认共享 1.2. IPC连接问题1.2.1. IPC连接失败原因1.2.2. IPC连接常见错误 2. 横向移动常用命令2.1. IPC命令介绍2.1.1. IPC常用命令演示2.1.1.1. 建…

docker非root用户下取消sudo前缀

解决非root用户下执行docker命令提示权限不足,必须添加sudo的问题。 第一步:执行 sudo gpasswd aby docker 命令,将当前用户aby加入docker组中。 第二步:执行 sudo chmod arw /var/run/docker.sock 命令修改sock权限

数据结构之堆——算法与数据结构入门笔记(六)

本文是算法与数据结构的学习笔记第六篇,将持续更新,欢迎小伙伴们阅读学习。有不懂的或错误的地方,欢迎交流 引言 当涉及到高效的数据存储和检索时,堆(Heap)是一种常用的数据结构。上一篇文章中介绍了树和完…

chatgpt赋能python:Python列表转字符串——从新手到大师

Python列表转字符串——从新手到大师 在Python编程中,列表和字符串是非常常用的数据类型。有时候,我们需要将一个列表转换为一个字符串,以方便进行各种操作。幸运的是,Python内置了一些函数和方法,可以轻松地将列表转…

7Z045 引脚功能详解

本文针对7Z045芯片,详细讲解硬件设计需要注意的技术点,可以作为设计和检查时候的参考文件。问了方便实用,按照Bank顺序排列,包含配置Bank、HR Bank、HP Bank、GTX Bank、供电引脚等。 参考文档包括: ds191-XC7Z030-X…

ruoyi-cloud版本(一)项目的下载与本地运行(亲测有效)

目录 1 架构2 架构图3 源码下载4 创建数据库5 下载nacos与运行6 打开运行基础模块(启动没有先后顺序)7 启动前端 1 架构 com.ruoyi ├── ruoyi-ui // 前端框架 [80] ├── ruoyi-gateway // 网关模块 [8080] ├── ruoyi…

canvas详解00-认识canvas

身为一个WEB开发人员,肯定都是想着能够开发出酷炫和激动人心的应用程序来。可以很多动画特效,例如黑客帝国的数字,彩色炫酷的例子动效。也可以实现各种图画面板,如实现类似于photoshop的web在线图像编辑。各种酷炫的表单等等。 #…

专项练习10

目录 一、选择题 1、执行以下程序,下列说法中,正确的是() 2、下面有关JavaScript中系统方法的描述,错误的是? 3、以下 JavaScript 代码,在浏览器中运行的结果是 4、假设DOM结构为 二、编程题 …

[ruby on rails] rails中使用graphQL

1. 添加gem gem graphql’是主要提供server的, gem graphiql-rails’是用来生成一个graphiql查询页面IDE,自己用来测试的group :development dogem graphiql-rails endgem graphql2.使用命令生成模板文件 rails g graphql:install在API only中,routes不会自动填充graphiql路…

chatgpt赋能python:Python的下载方法——从官网到第三方渠道

Python的下载方法——从官网到第三方渠道 Python 是一种翻译式、面向对象的、动态数据类型的高级程序设计语言,被广泛应用于数据分析、人工智能、物联网等领域。相信大多数程序员都知道 Python,并且使用它编写程序。那么,如何下载 Python&am…

人工智能(1):机器学习工作流程

1 什么是机器学习 机器学习是从数据中自动分析获得模型,并利用模型对未知数据进行预测。 2 机器学习工作流程 机器学习工作流程总结 1 获取数据 2 数据基本处理 3 特征工程 4 机器学习(模型训练) 5 模型评估 结果达到要求,上线服务没有达到要求&a…

程序编译连接加载过程详解

程序加载过程详解 可重定位的elf文件格式简介 首先我们打开目标文件看一下 上面的图就是目标文件的格式了,这里使用的是010editer,这个二进制编辑器很好用 可以看到大致分为三部分,首先是header,然后是sectionheader&#xff0…

MIT 6.S081 (BOOK-RISCV-REV1)教材第四章内容 -- Trap -- 下

MIT 6.S081 教材第四章内容 -- Trap -- 下 引言从内核空间陷入页面错误异常Page Fault BasicsLazy page allocationZero Fill On DemandCopy On Write ForkDemand PagingMemory Mapped Files 真实世界 引言 MIT 6.S081 2020 操作系统 本文为MIT 6.S081课程第四章教材内容翻译…

Windows编译OpenSSL Win10系统 vs2010

近期因为项目需要,需要用到openssl动态库,现在将编译的过程记录一下; 操作系统:Win10 64位 编译器:VS2010 编译步骤如下: 1、下载openssl版本(下载地址:​http://www.openssl.or…