作用

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相关推荐

  1. 问道阿里哨兵Sentinel框架_仪表盘_限流_v0.0.2

    文件名称 版本号 作者 qq 版本 问道阿里哨兵Sentinel框架_仪表盘_限流 v0.0.2 若布与宫合 8416837 SpringBoot 2.2.2 Spring-cloud-starter ...

  2. 有下界的最小费用可行流2.0(bzoj 3876: [Ahoi2014]支线剧情)

    什么是有下界的最小费用可行流? 平时来讲都是最小费用最大流,也就是在满流的前提条件下费用尽可能的少,而最小费用可行流一般不要求满流,但是每条边都有最小流量要求(比如经过边e(u,v)的流量不能少于4等 ...

  3. 基于阿里云直播实现视频推流(ffmpeg)/拉流(Django2.0)以及在线视频直播播放(支持http/https)功能

    由于5g网络的光速推广,视频业务又被推上了风口浪尖,在2019年初我们还在谈论照片,短视频等关键字,而进入2020年,我们津津乐道的就只有视频,视频,还是视频,普通人拿起手机做直播早已不是奢望,去年我 ...

  4. 什么是Azkaban - 流式调度框架

    为什么要有Azkaban? 在数据业务场景,对于数据的处理往往是分阶段处理,而不同的阶段可能采用了不同的技术框架去完成这个业务需求,且可能在不同的阶段要干不同的事. 炒饭(锅) à 吃饭(碗) à 筷 ...

  5. 康瑞的KR0800替代JST刺破式连接器,通流达0.5A,满足边缘汽车连接器国产化替代需求

    在边缘计算器产品中,大部分连接器都有国产和进口的方案,部分高速类连接器暂时还需使用国外品牌,而其他类似刺破式连接器,目前已有很好的国产化替代,在满足通流和可靠性的前提下大幅度降低物料成本. 康瑞的KR ...

  6. 学python轻松变现_狼叔知乎精准引流7.0+知乎好物变现技术课程,轻松在家躺赚20000+ | 「讲文兄博客」...

    位置:c11-15 距离上次的知乎引流技术公开课已经过去一个月了,收到了很多朋友的好评,也有很多朋友催促我赶紧更新知乎引流的新玩法. 确实,狼叔也一直在打磨知乎的7.0新玩法,本次7.0版本的升级,也 ...

  7. 山顶应试流V1.0——中国应试教育备考方法

    山顶应试流,顾名思义,就是从山顶俯览山下万千考题的应试方法,掌握此方法,天下考试,无坚不摧,唯快不破. 此文章分为两部分:第一部分介绍考题的类型:第二部分介绍备考的方法和误区. 目录 考题的种类 1. ...

  8. Cris 玩转大数据系列之任务流神器 Azkaban

    Cris 玩转大数据系列之任务流神器 Azkaban Author:Cris 文章目录 Cris 玩转大数据系列之任务流神器 Azkaban Author:Cris 1. 概述 1.1 为什么需要工作 ...

  9. 大据数技术之高频面试题8.0.9

    尚硅谷大数据技术之高频面试题 (作者:尚硅谷大数据研发部) 配套视频 版本:V8.0 尚硅谷大数据研发部 目录 第1章 项目涉及技术 12 1.1 Linux&Shell 12 1.1.1 L ...

最新文章

  1. MySQL的约束、多表查询、子查询
  2. Linux下mknod的作用,Linux系统mknod命令用法
  3. SSD 安装、训练、测试(ubuntu14.04+cuda7.5+openvc2.4.9)
  4. 定个目标|建立自己的技术知识体系
  5. android实现首页倒计时,android 利用CountDownTimer实现时分秒倒计时效果
  6. 16位和32位微处理器(4)——Pentium的寄存器及相关机制
  7. httplistener java_可以使用异常HttpListener吗?
  8. 《TensorFlow 2.0深度学习算法实战教材》学习笔记(二、回归问题和分类问题)
  9. _如何在 Linux 上安装 Minecraft 服务器
  10. 文件上传下载——sz和rz
  11. Entity Framework6使用SQL Server Compact免安装部署
  12. 书摘---创业36条军规6:管理的九个问题
  13. StanfordDB class自学笔记 (10) Unified Modeling Language
  14. DeepFaceLab AI换脸使用教程(1.安装及分解视频)
  15. 物联网学什么编程语言_物联网开发用什么语言
  16. 用了这么多年Redis,你知道Redis名字的由来吗?
  17. 机器学习:特征选择之RFormula(SparkMLlib中的RFormula)
  18. c语言程序设计罗朝盛第三版,c语言程序设计罗朝盛总复习.ppt
  19. 计算机科学文科学士,计算机科学文科学士与理科硕士
  20. keep跑步截图生成器ios_主题月活动 |『公装跑步月』突破自我 票选邀您来参与!...

热门文章

  1. c++ string分割字符串split_Java字符串到数组的转换最后放大招
  2. 通过内网穿透 将本地端口 使其外网可以进行访问 使用花生壳内网穿透 网站访问
  3. 阿里云申请免费ssl证书并配置nginx
  4. 慢慢的,就没有了,就像从未存在过(转载)
  5. 下载和安装CUDA和Cudnn(图文详解)
  6. maxscale mysql5.7_Maxscale实现Mysql读写分离
  7. 7 php 内存泄漏_php 大数组导致内存泄露问题
  8. 爬虫cookie过期_【Python】Scrapy爬虫框架之Request和Response
  9. wince 开发_正运动技术运动控制卡应用开发教程之Python
  10. python语言中函数在调用前必须先定义吗_应该在python中使用函数之前进行定义?...