azkaban 工作流使用

xiaoxiao2021-02-28  51

目录:

一 最简单的使用 创建一个job执行打印输出打包成zip执行job 1 打开Azkaban的web页面httpsmini184432 在页面上创建一个project3 上传压缩包simplezip4 执行5 查看执行日志 二单个依赖工作流 创建job1创建job2打包上传执行 三 多个依赖工作流并行执行 创建job1创建job2创建job3打包上传执行 四 一个job执行多个命令 打包上传执行 五 创建执行map reduce的job 准备jar包创建job准备单词统计文件将单词统计文件上传到hdfs将mrJobjob和hadoop-mapreduce-examples-264jar打包下载zip到本地进入web页面创建新的project上传zip执行 六 执行hive脚本 创建job打包上传执行 七 执行hive的sql文件 创建sql创建job数据准备创建az_emptxt打包上传执行

一 最简单的使用

1 创建一个job,执行打印输出

vim simple.job type=command command=echo 'simple job started'

2 打包成zip

zip simpleJob.zip simple.job

将文件下载到本地

sz simpleJob.zip

3 执行job

3. 1 打开Azkaban的web页面:https://mini1:8443

3. 2 在页面上创建一个project

3. 3 上传压缩包simple.zip

3. 4 执行

3. 5 查看执行日志

二、单个依赖工作流

当前工作流的执行依赖上一个job的执行,即上一个job执行完才能执行当前job

1 创建job1

vim start1.job type=command command=echo 'start1 started'

2 创建job2

vim start2.job type=command dependecies=start1 command=echo 'start2 started'

3 打包上传执行

三 多个依赖工作流,并行执行

1 创建job1

vim start1.job type=command command=echo 'start1 started'

2 创建job2

vim start2.job type=command command=echo 'start2 started'

3 创建job3

vim start3.job type=command dependecies=start1,start2 command=echo 'start3 started'

注意:start1和start2是并行执行的

3 打包上传执行

四 一个job执行多个命令

使用command.n的形式添加多个命令

vim twoCommand.job type=command command=echo 'twoCammandJob started' command.1=hdfs dfs -mkdir /test1 command.2=hdfs dfs -mkdir /test2

注意:command=这一行千万不可少,否则报错找不到command命令

3 打包上传执行

五、 创建执行map reduce的job

1 准备jar包,

这里以Hadoop自带的单词统计案例为例,jar包在 /usr/local/hadoop-2.6.4/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.4.jar

2 创建job

vim mrJob.job type=command command=hadoop jar hadoop-mapreduce-examples-2.6.4.jar wordcount /wordcount/input /wordcount/output

3 准备单词统计文件

vim word.txt hadoop spark sqoop hadoop storm phython

4 将单词统计文件上传到hdfs

hdfs dfs -put word.txt /wordcount/input

5 将mrJob.job和hadoop-mapreduce-examples-2.6.4.jar打包

zip mrJob.zip mrJob.job hadoop-mapreduce-examples-2.6.4.jar

6 下载zip到本地,进入web页面创建新的project,上传zip执行

六 执行hive脚本

1 创建job

vim hiveScript.job type=command command=hive -e 'use emp_db; select id,name,age from amp;'

2 打包上传执行

七 执行hive的sql文件

1 创建sql

vim hiveSql.sql use emp_db; drop table az_emp; create table az_emp(id int,name string,age int) row format delimited fields terminated by ','; load data local inpath '/usr/local/hivedata/az_emp.txt' into table az_emp; drop table az_emp_test; create table az_emp_test as select id,name,age from az_emp; insert overwrite local directory '/usr/local/hivedata/az_emp_output' select id,name,age from az_emp_test;

2 创建job

vim executeSql.job type=command command=hive -f 'executeSql.sql'

3 数据准备:创建az_emp.txt

vim az_emp.txt 1,honghong,25 2,lanolin,22 3,juanjuan,20

4 打包

zip executeSql.zip hiveSql.sql excuteSql.job

5 上传执行

转载请注明原文地址: https://www.6miu.com/read-2622567.html

最新回复(0)