Azkaban流2.0
作用
Azkarban流用来协调一堆脚本工作的.
入门用法
首先创建一个后缀project的文件,表明这是一个2.0版本的流.
azkaban-flow-version: 2.0
然后创建一个flow后缀的文件,内容如下
一个基本的流最少要包含以下三项类容. name,type,config
配置文件为yaml格式.
yaml格式的配置文件
nodes:- name: jobAtype: commandconfig:command: echo "This is an echoed text."
如果看不懂yaml格式,对比下json格式
{"nodes":[{"name":"jobA","type":"command","config":{"command":"echo \"This is an echoed text.\""}}]
}
然后把上述两个文件压缩到一起.上传到azkarban,就可以执行了.!
job可以相互依赖
如下
- name: jobCtype: noop# jobC depends on jobA and jobBdependsOn:- jobA- jobB- name: jobAtype: commandconfig:command: echo "This is an echoed text."- name: jobBtype: commandconfig:command: pwd
看json对比下
[{"name":"jobC","type":"noop","dependsOn":["jobA","jobB"]},{"name":"jobA","type":"command","config":{"command":"echo \"This is an echoed text.\""}},{"name":"jobB","type":"command","config":{"command":"pwd"}}
]
也可以是其他类型,不一定是shell命令
nodes:- name: pigJobtype: pigconfig:pig.script: sql/pig/script.pig
全局配置
共同的内容可以在多个job之间共享.
config:user.to.proxy: foofailure.emails: noreply@foo.comnodes:- name: jobAtype: commandconfig:command: echo "This is an echoed text."
对比json
{"config":{"user.to.proxy":"foo","failure.emails":"noreply@foo.com"},"nodes":[{"name":"jobA","type":"command","config":{"command":"echo \"This is an echoed text.\""}}]
}
可以嵌套
nodes:- name: embedded_flowtype: flowconfig:prop: valuenodes:- name: jobBtype: noopdependsOn:- jobA- name: jobAtype: commandconfig:command: pwd
总结
- 写Azkaban 2.0的flow,要学会yaml配置的写法
- 理解name,type,config的含义
Azkaban流2.0相关推荐
- 问道阿里哨兵Sentinel框架_仪表盘_限流_v0.0.2
文件名称 版本号 作者 qq 版本 问道阿里哨兵Sentinel框架_仪表盘_限流 v0.0.2 若布与宫合 8416837 SpringBoot 2.2.2 Spring-cloud-starter ...
- 有下界的最小费用可行流2.0(bzoj 3876: [Ahoi2014]支线剧情)
什么是有下界的最小费用可行流? 平时来讲都是最小费用最大流,也就是在满流的前提条件下费用尽可能的少,而最小费用可行流一般不要求满流,但是每条边都有最小流量要求(比如经过边e(u,v)的流量不能少于4等 ...
- 基于阿里云直播实现视频推流(ffmpeg)/拉流(Django2.0)以及在线视频直播播放(支持http/https)功能
由于5g网络的光速推广,视频业务又被推上了风口浪尖,在2019年初我们还在谈论照片,短视频等关键字,而进入2020年,我们津津乐道的就只有视频,视频,还是视频,普通人拿起手机做直播早已不是奢望,去年我 ...
- 什么是Azkaban - 流式调度框架
为什么要有Azkaban? 在数据业务场景,对于数据的处理往往是分阶段处理,而不同的阶段可能采用了不同的技术框架去完成这个业务需求,且可能在不同的阶段要干不同的事. 炒饭(锅) à 吃饭(碗) à 筷 ...
- 康瑞的KR0800替代JST刺破式连接器,通流达0.5A,满足边缘汽车连接器国产化替代需求
在边缘计算器产品中,大部分连接器都有国产和进口的方案,部分高速类连接器暂时还需使用国外品牌,而其他类似刺破式连接器,目前已有很好的国产化替代,在满足通流和可靠性的前提下大幅度降低物料成本. 康瑞的KR ...
- 学python轻松变现_狼叔知乎精准引流7.0+知乎好物变现技术课程,轻松在家躺赚20000+ | 「讲文兄博客」...
位置:c11-15 距离上次的知乎引流技术公开课已经过去一个月了,收到了很多朋友的好评,也有很多朋友催促我赶紧更新知乎引流的新玩法. 确实,狼叔也一直在打磨知乎的7.0新玩法,本次7.0版本的升级,也 ...
- 山顶应试流V1.0——中国应试教育备考方法
山顶应试流,顾名思义,就是从山顶俯览山下万千考题的应试方法,掌握此方法,天下考试,无坚不摧,唯快不破. 此文章分为两部分:第一部分介绍考题的类型:第二部分介绍备考的方法和误区. 目录 考题的种类 1. ...
- Cris 玩转大数据系列之任务流神器 Azkaban
Cris 玩转大数据系列之任务流神器 Azkaban Author:Cris 文章目录 Cris 玩转大数据系列之任务流神器 Azkaban Author:Cris 1. 概述 1.1 为什么需要工作 ...
- 大据数技术之高频面试题8.0.9
尚硅谷大数据技术之高频面试题 (作者:尚硅谷大数据研发部) 配套视频 版本:V8.0 尚硅谷大数据研发部 目录 第1章 项目涉及技术 12 1.1 Linux&Shell 12 1.1.1 L ...
最新文章
- MySQL的约束、多表查询、子查询
- Linux下mknod的作用,Linux系统mknod命令用法
- SSD 安装、训练、测试(ubuntu14.04+cuda7.5+openvc2.4.9)
- 定个目标|建立自己的技术知识体系
- android实现首页倒计时,android 利用CountDownTimer实现时分秒倒计时效果
- 16位和32位微处理器(4)——Pentium的寄存器及相关机制
- httplistener java_可以使用异常HttpListener吗?
- 《TensorFlow 2.0深度学习算法实战教材》学习笔记(二、回归问题和分类问题)
- _如何在 Linux 上安装 Minecraft 服务器
- 文件上传下载——sz和rz
- Entity Framework6使用SQL Server Compact免安装部署
- 书摘---创业36条军规6:管理的九个问题
- StanfordDB class自学笔记 (10) Unified Modeling Language
- DeepFaceLab AI换脸使用教程(1.安装及分解视频)
- 物联网学什么编程语言_物联网开发用什么语言
- 用了这么多年Redis,你知道Redis名字的由来吗?
- 机器学习:特征选择之RFormula(SparkMLlib中的RFormula)
- c语言程序设计罗朝盛第三版,c语言程序设计罗朝盛总复习.ppt
- 计算机科学文科学士,计算机科学文科学士与理科硕士
- keep跑步截图生成器ios_主题月活动 |『公装跑步月』突破自我 票选邀您来参与!...
热门文章
- c++ string分割字符串split_Java字符串到数组的转换最后放大招
- 通过内网穿透 将本地端口 使其外网可以进行访问 使用花生壳内网穿透 网站访问
- 阿里云申请免费ssl证书并配置nginx
- 慢慢的,就没有了,就像从未存在过(转载)
- 下载和安装CUDA和Cudnn(图文详解)
- maxscale mysql5.7_Maxscale实现Mysql读写分离
- 7 php 内存泄漏_php 大数组导致内存泄露问题
- 爬虫cookie过期_【Python】Scrapy爬虫框架之Request和Response
- wince 开发_正运动技术运动控制卡应用开发教程之Python
- python语言中函数在调用前必须先定义吗_应该在python中使用函数之前进行定义?...