Azkaban---基础
- YAML 语言
- 基础案例
- Hello World 案例
- 作业依赖案例
- 手动失败重试案例
YAML 语言
基本语法
大小写敏感。
使用缩进表示层级关系,但是只能使用空格来缩进。
支持的数据结构
对象:键值对的集合
数组:一组按次序排列的值
纯量:单个的、不可再分的值
对象
name: namename
数组
- name: zhangsan
- name: wangwuage: 15
# 有一个数组两个元素,[{name: zhangsan},{name: wangwu,age: 15}]
纯量
wangwu
Hello World 案例
编写规划文件
azkaban.project
指定规划文件使用的版本
azkaban-flow-version: 2.0
该文件的内容是确定的,冒号后紧跟两个空格。
*.flow
描述工作流程文件,是一个yaml格式的文件
nodes:- name: job_nametype: commandconfig:command: echo "Hello World"
该文件的解析规则是先找到每个节点处理的任务流程,每个任务流程是一个数组,将数组的每一个元素取出生成单独的一个任务
将两个文件打成一个压缩包,包名不含中文字符
创建任务及运行任务
在web页面中创建一个任务,填写任务名和描述。
将压缩包上传至azkaban
解析完成后,执行任务
等待任务列表反馈任务执行成功
在其log中可以看到echo
作业依赖案例
编写一个.flow文件
nodes:- name: jobAtype: commandconfig:command: echo "A"- name: jobBtype: commandconfig:command: echo "B"- name: jobCtype: commanddependsOn:- jobA- jobBconfig:command: echo "C"
dependsOn: 作业依赖,即当前作业需要哪些或哪个作业完成后才能执行
将flow文件和project文件打包后上传至azkaban,并执行任务,在任务的日志中可以看到,先执行了A和B,再执行C
自动失败重试案例
失败后系统会按照设定的重试次数和重试时间间隔自动重试
nodes:- name: jobAtype: commandconfig:command: sh /not_exists.shretries: 3retry.backoff: 3000
retries: 失败后最多还会尝试的次数
retry.backoff: 间隔多少ms尝试一次
手动失败重试案例
在任务失败后,可以手动从失败位置,或之前的某个位置重新执行后续作业。
nodes:- name: jobAtype: commandconfig:command: echo "A"- name: jobBtype: commanddependsOn: - jobAconfig:command: echo "B"- name: jobctype: commanddependsOn: - jobBconfig:command: echo "C"- name: jobDtype: commanddependsOn: - jobcconfig:command: echo "D"- name: jobEtype: commanddependsOn: - jobDconfig:command: echo "E"- name: jobFtype: commanddependsOn: - jobEconfig:command: echo "F"
当执行失败后,有两种手动重试方法。
方法一:
在History页面找到失败的项目,点击Flow
在流程页面,点击Prepare Execution,可以看到执行成功的作业是灰色的,这是直接执行即可
方法二:
在project页面找到失败的项目,并进入该项目
点击Execute Flow,在流程页面中,对执行完成的作业点击右键,将其标注为disable,标注后将不再执行该作业
Azkaban---基础相关推荐
- 大数据技术基础_【基础】大数据技术栈介绍
大数据技术的体系庞大且复杂,基础的技术包含数据的采集.数据预处理.分布式存储.NoSQL数据库.数据仓库.机器学习.并行计算.可视化等各种技术范畴和不同的技术层面. 首先给出一个通用化的大数据处理框架 ...
- 使用azkaban调度spark任务
这篇文章主要向大家介绍使用azkaban调度spark任务,主要内容包括基础应用.实用技巧.原理机制等方面,希望对大家有所帮助. Azkaban是一种相似于Oozie的工作流控制引擎,能够用来解决多个 ...
- 大数据入门基础系列之初步认识大数据生态系统圈(博主推荐)
不多说,直接上干货! 之前在微信公众平台里写过 大数据入门基础系列之初步认识hadoop生态系统圈 http://mp.weixin.qq.com/s/KE09U5AbFnEdwht44FGrOA 大 ...
- 23篇大数据系列(二)scala基础知识全集(史上最全,建议收藏)
作者简介: 蓝桥签约作者.大数据&Python领域优质创作者.管理多个大数据技术群,帮助大学生就业和初级程序员解决工作难题. 我的使命与愿景:持续稳定输出,赋能中国技术社区蓬勃发展! 大数据系 ...
- 数据调度组件:基于Azkaban协调时序任务执行
一.Azkaban概述 1.任务时序 在数据服务的业务场景中,很常见的业务流程就是日志文件经过大数据分析,再向业务输出结果数据:在该过程中会有很多任务需要执行,并且很难精准把握任务执行的结束时间,但是 ...
- 我33岁,从国企主管零基础转型大数据开发,年薪涨了20W
一. 转行背景 1.温水煮青蛙的八年 男,1989年生,211理工科.家庭条件一般,从小没啥追求,人比较怂.2013年本科毕业留在上学的二线城市,到2021年,在一家国企里干了8年,分别干过培训,行政 ...
- 数据运营平台-基础架构
目录 一.数据存储 二.数据计算 三.作业调度 四.架构安全 五.运维管理 六.数据权限 七.数据查询 八.应用层框架 一.数据存储 底层为统一分布式存储HDFS,HDFS默认采用三份副本策略保证数据 ...
- 大数据学习零基础能够学会不?
零基础学习大数据课程能学懂嘛?零基础学习大数据课程现实吗?这是不少从未接触过编程,想要进入IT行业相关人员必问的问题,今天加米谷大数据就来和大家分析下. 零基础大数据培训班课程大纲内容学什么?零基础大 ...
- 大数据_03【大数据基础知识】
大数据_03 [大数据基础知识] 01 大数据概述 02 什么是大数据?(Big Data) 03 传统数据与大数据的对比 04 大数据的特点 4.1 传统数据与大数据处理服务器系统安装对比 4.2 ...
- Azkaban重新编译,解决:Could not connect to SMTP host: smtp.163.com, port: 465【2022年01月10日】
Azkaban配置文件修改465端口一直报错,如下: javax.mail.MessagingException: Could not connect to SMTP host: smtp.163.c ...
最新文章
- 使用 ADS 渲染 SAP Adobe Form 的性能分析
- VSFTPD Centos 7.6 _配置篇
- 一个N*M的矩阵,找出这个矩阵中所有元素的和不小于K的面积最小的子矩阵
- 我的世界java导出皮肤_我的世界Alex1.8夕立poi皮肤
- SQL Server数据库指标
- ajax请求怎么判断没有更多内容,怎么知道ajax 请求完了,想在数据没请求完时,页面有一个loading效果...
- .NET core 项目发布、部署到iis中
- UE5热更新(Pak包的Cook,打包,加载,踩过的一些坑)
- 常用计算机维修方法有哪些,计算机常见硬件故障的诊断及其处理分析
- 苹果cms如何添加广告代码
- 教你使用JAVA代码重启路由器(TP-LINK)
- Oracle触发器原理、创建、修改、删除
- 异常 illegal character 200B
- 【案例】avi文件恢复
- Schema Compare 使用手册
- 计算机领域的道德模范,2015-2016年学校道德模范董敏事迹
- 赴美生子诚实签的五大谣言!!
- c++ 编译DLL和使用DLL
- 服务器内存和常见内存的不同点在哪
- redis.clients.jedis.exceptions.JedisDataException: WRONGTYPE Operation against a key holding the wro
热门文章
- 银行市场风险管理系统实施中,几个知名的厂商的系统各有什么特色?
- C语言项目-ATM自助取款机(无图形化界面)
- 每瓶海天酱油都有“大数据”
- 一文看懂二层接口、三层接口、PVID及VLANIF
- Facebook的Libra “区块链”到底是如何运作的?
- VC提交网页表单-自动评论留言(1)
- 使用UltraISO制作OS X系统安装U盘。
- 管理心理学第四讲.目标管理心理学 之一
- 戴尔服务器硬盘non-raid,DELL 服务器 PERC10配置RAID与Non-RAID混用方法
- css弹性布局和网格布局