日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Azkaban學(xué)習(xí)之路 (三)Azkaban的使用

 HK123COM 2019-02-14

目錄

 

正文

界面介紹

首頁有四個菜單

  • projects:最重要的部分,創(chuàng)建一個工程,所有flows將在工程中運(yùn)行。
  • scheduling:顯示定時任務(wù)
  • executing:顯示當(dāng)前運(yùn)行的任務(wù)
  • history:顯示歷史運(yùn)行任務(wù)

介紹projects部分

概念介紹

創(chuàng)建工程:創(chuàng)建之前我們先了解下之間的關(guān)系,一個工程包含一個或多個flows,一個flow包含多個job。job是你想在azkaban中運(yùn)行的一個進(jìn)程,可以是簡單的linux命令,可是java程序,也可以是復(fù)雜的shell腳本,當(dāng)然,如果你安裝相關(guān)插件,也可以運(yùn)行插件。一個job可以依賴于另一個job,這種多個job和它們的依賴組成的圖表叫做flow。

1、Command 類型單一 job 示例

(1)首先創(chuàng)建一個工程,填寫名稱和描述

(2)點(diǎn)擊創(chuàng)建之后

Flows:工作流程,有多個job組成
Permissions:權(quán)限管理
Project Logs:工程日志

(3)job的創(chuàng)建

創(chuàng)建job很簡單,只要創(chuàng)建一個以.job結(jié)尾的文本文件就行了,例如我們創(chuàng)建一個工作,用來打印hello,名字叫做command.job

#command.job

type=command

command=echo 'hello'

一個簡單的job就創(chuàng)建好了,解釋下,type的command,告訴azkaban用unix原生命令去運(yùn)行,比如原生命令或者shell腳本,當(dāng)然也有其他類型,后面說。

一個工程不可能只有一個job,我們現(xiàn)在創(chuàng)建多個依賴job,這也是采用azkaban的首要目的。

(4)將 job 資源文件打包

注意:只能是zip格式

(5)通過 azkaban web 管理平臺創(chuàng)建 project 并上傳壓縮包

 

 

 

 

2、Command 類型多 job 工作流 flow

(1)創(chuàng)建項(xiàng)目

我們說過多個jobs和它們的依賴組成flow。怎么創(chuàng)建依賴,只要指定dependencies參數(shù)就行了。比如導(dǎo)入hive前,需要進(jìn)行數(shù)據(jù)清洗,數(shù)據(jù)清洗前需要上傳,上傳之前需要從ftp獲取日志。
定義5個job:

1、o2o_2_hive.job:將清洗完的數(shù)據(jù)入hive庫

2、o2o_clean_data.job:調(diào)用mr清洗hdfs數(shù)據(jù)

3、o2o_up_2_hdfs.job:將文件上傳至hdfs

4、o2o_get_file_ftp1.job:從ftp1獲取日志

5、o2o_get_file_fip2.job:從ftp2獲取日志

依賴關(guān)系:
3依賴4和5,2依賴3,1依賴2,4和5沒有依賴關(guān)系。

o2o_2_hive.job

type=command
# 執(zhí)行sh腳本,建議這樣做,后期只需維護(hù)腳本就行了,azkaban定義工作流程
command=sh /job/o2o_2_hive.sh
dependencies=o2o_clean_data

o2o_clean_data.job

type=command
# 執(zhí)行sh腳本,建議這樣做,后期只需維護(hù)腳本就行了,azkaban定義工作流程
command=sh /job/o2o_clean_data.sh
dependencies=o2o_up_2_hdfs

o2o_up_2_hdfs.job

type=command
#需要配置好hadoop命令,建議編寫到shell中,可以后期維護(hù)
command=hadoop fs -put /data/*
#多個依賴用逗號隔開
dependencies=o2o_get_file_ftp1,o2o_get_file_ftp2

o2o_get_file_ftp1.job

type=command
command=wget "ftp://file1" -O /data/file1

o2o_get_file_ftp2.job

type=command
command=wget "ftp:file2" -O /data/file2

可以運(yùn)行unix命令,也可以運(yùn)行python腳本(強(qiáng)烈推薦)。將上述job打成zip包。
ps:為了測試流程,我將上述command都改為echo +相應(yīng)命令

(2)上傳

 

點(diǎn)擊o2o_2_hive進(jìn)入流程,azkaban流程名稱以最后一個沒有依賴的job定義的。

右上方是配置執(zhí)行當(dāng)前流程或者執(zhí)行定時流程。

說明

Flow view:流程視圖??梢越?,啟用某些job
Notification:定義任務(wù)成功或者失敗是否發(fā)送郵件
Failure Options:定義一個job失敗,剩下的job怎么執(zhí)行
Concurrent:并行任務(wù)執(zhí)行設(shè)置
Flow Parametters:參數(shù)設(shè)置。

(3)執(zhí)行一次

設(shè)置好上述參數(shù),點(diǎn)擊execute。

綠色代表成功,藍(lán)色是運(yùn)行,紅色是失敗??梢圆榭磈ob運(yùn)行時間,依賴和日志,點(diǎn)擊details可以查看各個job運(yùn)行情況。

 

(4)執(zhí)行定時任務(wù)

這時候注意到cst了吧,之前需要將配置中時區(qū)改為Asia/shanghai。
可以選擇"天/時/分/月/周"等執(zhí)行頻率。

可以查看下次執(zhí)行時間。

3、操作 MapReduce 任務(wù)

(1)創(chuàng)建 job 描述文件

mapreduce_wordcount.job

復(fù)制代碼

# mapreduce_wordcount.job
type=command
dependencies=mapreduce_pi
command=/home/hadoop/apps/hadoop-2.7.5/bin/hadoop jar /home/hadoop/apps/hadoop-2.7.5/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar wordcount /wordcount/input /wordcount/output_azkaban

復(fù)制代碼

mapreduce_pi.job

# mapreduce_pi.job
type=command
command=/home/hadoop/apps/hadoop-2.7.5/bin/hadoop jar /home/hadoop/apps/hadoop-2.7.5/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar pi 5 5

(2)創(chuàng)建 project 并上傳 zip 包

(3)啟動執(zhí)行

4、Hive 腳本任務(wù)

(1) 創(chuàng)建 job 描述文件和 hive 腳本

 Hive 腳本如下

 test.sql

復(fù)制代碼
create database if not exists azkaban;
use azkaban;
drop table if exists student;
create table student(id int,name string,sex string,age int,deparment string) row format delimited fields terminated by ',';
load data local inpath '/home/hadoop/student.txt' into table student;
create table student_copy as select * from student;
insert overwrite directory '/aztest/hiveoutput' select count(1) from student_copy;
!hdfs dfs -cat /aztest/hiveoutput/000000_0;
drop database azkaban cascade
復(fù)制代碼

 Job 描述文件:

hivef.job

# hivef.job
type=command
command=/home/hadoop/apps/apache-hive-2.3.3-bin/bin/hive -f 'test.sql'

(2)將所有 job 資源文件打到一個 zip 包中

(3)在 azkaban 的 web 管理界面創(chuàng)建工程并上傳 zip 包

 

5、啟動 job

 

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多