小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Azkaban學(xué)習(xí)之路 (一)Azkaban的基礎(chǔ)介紹

 HK123COM 2019-02-14

目錄

 

正文

一、為什么需要工作流調(diào)度器

1、一個(gè)完整的數(shù)據(jù)分析系統(tǒng)通常都是由大量任務(wù)單元組成: shell 腳本程序,java 程序,mapreduce 程序、hive 腳本等

2、各任務(wù)單元之間存在時(shí)間先后及前后依賴關(guān)系

3、為了很好地組織起這樣的復(fù)雜執(zhí)行計(jì)劃,需要一個(gè)工作流調(diào)度系統(tǒng)來(lái)調(diào)度執(zhí)行

例如,我們可能有這樣一個(gè)需求,某個(gè)業(yè)務(wù)系統(tǒng)每天產(chǎn)生 20G 原始數(shù)據(jù),我們每天都要對(duì)其進(jìn)行處理,處理步驟如下所示:

  1、 通過(guò) Hadoop 先將原始數(shù)據(jù)同步到 HDFS 上;

  2、 借助 MapReduce 計(jì)算框架對(duì)原始數(shù)據(jù)進(jìn)行清洗轉(zhuǎn)換,生成的數(shù)據(jù)以分區(qū)表的形式存儲(chǔ) 到多張 Hive 表中;

  3、 需要對(duì) Hive 中多個(gè)表的數(shù)據(jù)進(jìn)行 JOIN 處理,得到一個(gè)明細(xì)數(shù)據(jù) Hive 大表;

  4、 將明細(xì)數(shù)據(jù)進(jìn)行各種統(tǒng)計(jì)分析,得到結(jié)果報(bào)表信息;

  5、 需要將統(tǒng)計(jì)分析得到的結(jié)果數(shù)據(jù)同步到業(yè)務(wù)系統(tǒng)中,供業(yè)務(wù)調(diào)用使用。

二、工作流調(diào)度實(shí)現(xiàn)方式

簡(jiǎn)單的任務(wù)調(diào)度:直接使用 linux 的 crontab 來(lái)定義;

復(fù)雜的任務(wù)調(diào)度:開發(fā)調(diào)度平臺(tái)或使用現(xiàn)成的開源調(diào)度系統(tǒng),比如 ooize、azkaban 等

三、常見工作流調(diào)度系統(tǒng)

市面上目前有許多工作流調(diào)度器 在 hadoop 領(lǐng)域,常見的工作流調(diào)度器有 Oozie, Azkaban,Cascading,Hamake 等

四、各種調(diào)度工具對(duì)比

下面的表格對(duì)上述四種 hadoop 工作流調(diào)度器的關(guān)鍵特性進(jìn)行了比較,盡管這些工作流調(diào)度 器能夠解決的需求場(chǎng)景基本一致,但在設(shè)計(jì)理念,目標(biāo)用戶,應(yīng)用場(chǎng)景等方面還是存在顯著 的區(qū)別,在做技術(shù)選型的時(shí)候,可以提供參考

特性HamakeOozieAzkabanCascading
工作流描述語(yǔ)言 XML XML (xPDL based) text file with key/value pairs Java API
依賴機(jī)制 data-driven explicit explicit explicit
是否要web容器 NO YES YES NO
進(jìn)度跟蹤 console/log messages web page web page Java API
Hadoop job調(diào)度支持 no YES YES YES
運(yùn)行模式 command line utility daemon daemon API
Pig支持 yes yes yes yes
事件通知 no no no yes
需要安裝 no yes yes no
支持的hadoop版本 0.18+ 0.20+ currently unknown 0.18+
重試支持 no workflownode evel yes yes
運(yùn)行任意命令 yes yes yes yes
Amazon EMR支持 yes no currently unknown yes

五、Azkaban 與 Oozie 對(duì)比

對(duì)市面上最流行的兩種調(diào)度器,給出以下詳細(xì)對(duì)比,以供技術(shù)選型參考??傮w來(lái)說(shuō),ooize相比azkaban是一個(gè)重量級(jí)的任務(wù)調(diào)度系統(tǒng),功能全面,但配置使用也更復(fù)雜。如果可以不在意某些功能的缺失,輕量級(jí)調(diào)度器azkaban是很不錯(cuò)的候選對(duì)象。 
詳情如下:

功能 

兩者均可以調(diào)度mapreduce,pig,java,腳本工作流任務(wù) 
兩者均可以定時(shí)執(zhí)行工作流任務(wù)

工作流定義 

Azkaban使用Properties文件定義工作流 
Oozie使用XML文件定義工作流

工作流傳參 

Azkaban支持直接傳參,例如inputOozie支持參數(shù)和EL表達(dá)式,例如inputOozie支持參數(shù)和EL表達(dá)式,例如{fs:dirSize(myInputDir)}

定時(shí)執(zhí)行 

Azkaban的定時(shí)執(zhí)行任務(wù)是基于時(shí)間的 
Oozie的定時(shí)執(zhí)行任務(wù)基于時(shí)間和輸入數(shù)據(jù)

資源管理 

Azkaban有較嚴(yán)格的權(quán)限控制,如用戶對(duì)工作流進(jìn)行讀/寫/執(zhí)行等操作 
Oozie暫無(wú)嚴(yán)格的權(quán)限控制

工作流執(zhí)行 

Azkaban有兩種運(yùn)行模式,分別是solo server mode(executor server和web server部署在同一臺(tái)節(jié)點(diǎn))和multi server mode(executor server和web server可以部署在不同節(jié)點(diǎn)) 
Oozie作為工作流服務(wù)器運(yùn)行,支持多用戶和多工作流

工作流管理 

Azkaban支持瀏覽器以及ajax方式操作工作流 
Oozie支持命令行、HTTP REST、Java API、瀏覽器操作工作流

六、Azkaban 介紹

Azkaban是由Linkedin開源的一個(gè)批量工作流任務(wù)調(diào)度器。用于在一個(gè)工作流內(nèi)以一個(gè)特定的順序運(yùn)行一組工作和流程。Azkaban定義了一種KV文件格式來(lái)建立任務(wù)之間的依賴關(guān)系,并提供一個(gè)易于使用的web用戶界面維護(hù)和跟蹤你的工作流。 
它有如下功能特點(diǎn): 
  1、Web用戶界面 
  2、方便上傳工作流 
  3、方便設(shè)置任務(wù)之間的關(guān)系 
  4、調(diào)度工作流 
  5、認(rèn)證/授權(quán)(權(quán)限的工作) 
  6、能夠殺死并重新啟動(dòng)工作流 
  7、模塊化和可插拔的插件機(jī)制 
  8、項(xiàng)目工作區(qū) 
  9、工作流和任務(wù)的日志記錄和審計(jì)

七、azkaban調(diào)度的任務(wù)有可能有那些類型

  1、shell腳本

  2、java程序

  3、MR程序

  4、spark程序

  5、hive的sql

  6、python腳本

  7、sqoop任務(wù)

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多