0
点赞
收藏
分享

微信扫一扫

17.Azkaban实战

茗越 2022-06-20 阅读 46

首先创建一个command.job文件

 

#command.job
type=command
command=echo it18zhang

 

 

 

然后打成zip压缩包

17.Azkaban实战_上传

 

17.Azkaban实战_hadoop_02

 

17.Azkaban实战_hive_03

 

 17.Azkaban实战_上传_04

17.Azkaban实战_hadoop_05

上传刚刚打包的zip包

17.Azkaban实战_上传_06

17.Azkaban实战_上传_07

 

 17.Azkaban实战_hadoop_08

 

 17.Azkaban实战_hive_09

 

上传完后可以执行他

17.Azkaban实战_hive_10

可以定时执行

17.Azkaban实战_hadoop_11

17.Azkaban实战_上传_12

 

 

现在我们立马执行

17.Azkaban实战_上传_13

17.Azkaban实战_hadoop_14

 

 17.Azkaban实战_hive_15

 

 17.Azkaban实战_hadoop_16

 

 

现在我们要执行一个脚本

新建一个commad1.job文件

#command.job
type=command
command=bash hello.sh

 

再编写一个hello,sh脚本

#!/bin/bash
echo 'hello it18zhang~~~~'

 

 

把两个文件都选上一起打包

17.Azkaban实战_hadoop_17

17.Azkaban实战_hive_18

 

 17.Azkaban实战_上传_19

17.Azkaban实战_hadoop_20

 

 17.Azkaban实战_上传_21

 

 上传刚刚打的zip包

17.Azkaban实战_hive_22

17.Azkaban实战_hadoop_23

 

 17.Azkaban实战_上传_24

17.Azkaban实战_hive_25

 

 执行

17.Azkaban实战_上传_26

17.Azkaban实战_hive_27

 

 17.Azkaban实战_hadoop_28

17.Azkaban实战_hive_29

 

 17.Azkaban实战_上传_30

 

 

 

创建有依赖关系的多个job描述

 新建一个bar.job

# bar.job
type=command
dependencies=foo
command=echo bar

 

新建一个foo.job

# foo.job
type=command
command=echo foo

 

把这两个文件一起打成zip包

17.Azkaban实战_hive_31

17.Azkaban实战_上传_32

 

 

 17.Azkaban实战_上传_33

 

 17.Azkaban实战_hive_34

 

 17.Azkaban实战_hadoop_35

17.Azkaban实战_hadoop_36

 

 17.Azkaban实战_hive_37

 

 17.Azkaban实战_hive_38

 

 17.Azkaban实战_hadoop_39

 

17.Azkaban实战_hive_40

17.Azkaban实战_上传_41

 

 

 17.Azkaban实战_上传_42

17.Azkaban实战_上传_43

 

17.Azkaban实战_hive_44

 

HDFS操作任务

 新建文件fs.job

# fs.job
type=command
command=/opt/modules/hadoop-2.6.0/bin/hadoop fs -mkdir /azaz

 

 打包成zip包

17.Azkaban实战_hive_45

 

 17.Azkaban实战_hive_46

 

 17.Azkaban实战_hadoop_47

 

 17.Azkaban实战_上传_48

17.Azkaban实战_上传_49

 

 

 17.Azkaban实战_hadoop_50

 

 17.Azkaban实战_hadoop_51

17.Azkaban实战_上传_52

 

17.Azkaban实战_hive_53

 

 17.Azkaban实战_hive_54

 

 17.Azkaban实战_hive_55

 

 17.Azkaban实战_上传_56

17.Azkaban实战_上传_57

 

 

   MAPREDUCE任务

先创建一个输入路径

17.Azkaban实战_hadoop_58

 

 17.Azkaban实战_上传_59

创建一个数据文件b.txt

 17.Azkaban实战_hadoop_60

输入一些单词

17.Azkaban实战_上传_61

 

 把b.txt文件上传到hdfs上

17.Azkaban实战_hive_62

17.Azkaban实战_上传_63

 

 创建mrwc.job文件

# mrwc.job
type=command
command=/opt/modules/hadoop-2.6.0/bin/hadoop jar hadoop-mapreduce-examples-2.6.0.jar wordcount /wordcount/input /wordcount/azout

 

 

把这两个文件一起打包

17.Azkaban实战_hadoop_64

 

在azkaban创建一个project

 17.Azkaban实战_上传_65

17.Azkaban实战_hadoop_66

 

17.Azkaban实战_上传_67

 17.Azkaban实战_hadoop_68

 

17.Azkaban实战_hadoop_69

 

 17.Azkaban实战_上传_70

 

 17.Azkaban实战_hive_71

 17.Azkaban实战_上传_72

 17.Azkaban实战_上传_73

 

17.Azkaban实战_上传_74

 

 

可以看到执行成功了

17.Azkaban实战_hive_75

 

 17.Azkaban实战_hive_76

 

HIVE脚本任务

先创建目录

 

hadoop fs -mkdir -p /aztest/hiveinput

 

 

 

 

新建一个c.txt数据文件

17.Azkaban实战_hadoop_77

17.Azkaban实战_hadoop_78

 

 把c.txt文件上传到HDFS上

 17.Azkaban实战_hadoop_79

17.Azkaban实战_hive_80

 

 

 

 新建hivef.job

# hivef.job
type=command
command=/opt/modules/hive/bin/hive -f 'test.sql'

 

 

新建test.sql

use default;
drop table aztest;
create table aztest(id int,name string) row format delimited fields terminated by ',' ;
load data inpath '/aztest/hiveinput' into table aztest;
create table azres as select * from aztest;
insert overwrite directory '/aztest/hiveoutput' select count(1) from aztest;

 

 

打包成hivef.zip

17.Azkaban实战_hive_81

 

17.Azkaban实战_hive_82

 

 

 17.Azkaban实战_上传_83

 

 17.Azkaban实战_上传_84

 

 17.Azkaban实战_hadoop_85

 

17.Azkaban实战_hive_86

 

 17.Azkaban实战_hadoop_87

 

 

 17.Azkaban实战_hadoop_88

17.Azkaban实战_hadoop_89

 

 17.Azkaban实战_上传_90

 

 

可以看到失败了,查看原因

17.Azkaban实战_hive_91

 

 把本地hive的Lib目录下的mysql连接包的版本更换一下

17.Azkaban实战_上传_92

 

 换成这个5.1.28版本

17.Azkaban实战_hive_93

 

 再运行一次,同样失败了,但是hive和hdfs上出来了相应的结果,具有原因我也不懂

17.Azkaban实战_hive_94

17.Azkaban实战_hive_95

 

举报

相关推荐

0 条评论