azkaban 工作流使用

目录:

  • 一 最简单的使用
    • 创建一个job执行打印输出
    • 打包成zip
    • 执行job
        • 1 打开Azkaban的web页面httpsmini18443
        • 2 在页面上创建一个project
        • 3 上传压缩包simplezip
        • 4 执行
        • 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 上传执行

你可能感兴趣的:(大数据,Azkaban)