您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
Azkaban实战案例
 
  856  次浏览      51
 2019-5-31
 
编辑推荐:
本文来自于CSDN,本文以实战为引介绍了Commond类型多job执行,HDFS操作任务以及Hive脚本任务等相关内容。

1、Commond类型多job执行

1)、编辑job内容

第一个job(bar.jab)内容如下,依赖foo.job

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

第二个job(foo.job)内容如下

# foo.job
type=command
command=echo foo

2)、两个job打到一个zip包中(foobar.zip)

3)、在azkaban的web管理界面创建工程并上传zip包

这里演示一遍后面就不演示了

创建project

选择刚打好的foolbar.zip上传

上传后选择执行

一个是调度,一个是立即执行,这里立即执行

已经提示成功了

点击details能看到执行详情

2、HDFS操作任务

1)、创建job(fs.job)内容如下

# fs.job
type=command
command=/root/apps/hadoop-2.6.4/bin/hadoop fs -mkdir /azaz

注:执行的是hadoop命令,需要写清楚位置在哪,可以使用which来查看

[root@mini1 ~]# which hadoop
/root/apps/hadoop-2.6.4/bin/hadoop

2)、打成fs.zip

3)、在azkaban的web管理界面创建工程并上传zip包

4)、执行该job

注:hadoop集群需要起来才能跑,能创建该文件夹的话

执行之后初始是running状态接着会显示succeed,出错了也会提示错误信息。跑完之后页面查看是否在hdfs上创建了azaz目录

使用hadoo命令创建文件夹成功了,那么其它操作基本也不会有问题就不演示了。

3、跑Mapreduce程序

Mr任务依然可以使用command的job类型来执行

1)、创建mrwc.job内容如下(wordcount程序)

# mrwc.job
type=command
command=/root/apps/hadoop-2.6.4/bin/hadoop jar hadoop-mapreduce-examples-2.6.1.jar wordcount /wordcount2/input /wordcount2/azout

2)、打wc.zip包

注:要将能进行单词统计程序所在的jar包也一起打进去

但是还需要准备工作,创建好目录,传进入需要统计的单词所在的文件。

[root@mini1 ~]# vi c.txt
hello tom
hello jack
jack lucy
[root@mini1 ~]# hadoop fs -mkdir -p /wordcount2/input
[root@mini1 ~]# hadoop fs -put c.txt /wordcount2/input

3)、在azkaban的web管理界面创建工程并上传zip包

等完成后去页面查看

查看统计结果

[root@mini1 ~]# hadoop fs -ls /wordcount2/azout
Found 2 items
-rw-r--r-- 2 root supergroup 0 2017-10-26 08:08 /wordcount2/azout/_SUCCESS
-rw-r--r-- 2 root supergroup 28 2017-10-26 08:08 /wordcount2/azout/part-r-00000
[root@mini1 ~]# hadoop fs -cat /wordcount2/azout/part-r-00000
hello 2
jack 2
lucy 1

Hive脚本任务

hive脚本,test.sql内容如下

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

job描述文件(hive.jab)如下

# hivef.job
type=command
command=/root/apps/hive/bin/hive -f 'test.sql'
#-f表示执行写在文件里面的sql语句

同样是上传执行,完成后查看是否创建了两张表和本地文件/root/hiveoutput/xxxx

hive> select * from aztest;
OK
2 bb
3 cc
7 yy
9 pp
Time taken: 0.067 seconds, Fetched: 4 row(s)
hive> select * from azres;
OK
2 bb
3 cc
7 yy
9 pp
Time taken: 0.179 seconds, Fetched: 4 row(s)
hive>

[root@mini1 ~]# cd hiveoutput/
[root@mini1 hiveoutput]# ll
总用量 4
-rw-r--r--. 1 root root 2 10月 26 08:44 000000_0
[root@mini1 hiveoutput]# cat 000000_0
4
[root@mini1 hiveoutput]#
   
856 次浏览       51
相关文章

基于EA的数据库建模
数据流建模(EA指南)
“数据湖”:概念、特征、架构与案例
在线商城数据库系统设计 思路+效果
 
相关文档

Greenplum数据库基础培训
MySQL5.1性能优化方案
某电商数据中台架构实践
MySQL高扩展架构设计
相关课程

数据治理、数据架构及数据标准
MongoDB实战课程
并发、大容量、高性能数据库设计与优化
PostgreSQL数据库实战培训