链接:https://www.cnblogs.com/qingyunzong/p/8810610.html
azkaban web地址: https://note1:8443
账号:admin
密码:admin
首页有四个菜单
projects:最重要的部分,创建一个工程,所有flows将在工程中运行。
scheduling:显示定时任务
executing:显示当前运行的任务
history:显示历史运行任务
步骤简写:
创建 .job文件 里面写脚本
zip -r 压缩名 .job文件
sz 压缩名
在web 页面创建项目 和描述 上传 刚才下载的压缩包 点击 :execute flow
在history可以看到 对应的项目及序号
这个序号 在对应的服务器上的/export/servers/azkaban/executorserver/executions下也有对应的序号目录【这个目录里有对应项目的日志文件 如:_flow.1.command.log ;_job.1.command.log(此日志文件中有执行命令的结果输出)】
举例1:打印 hello
vi command.job
#command.job
type=command
command=echo ‘hello’
举例2:俩个job有依赖关系
vi foo.job
#foo.job
type=command
command=echo foo
vi bar.job
#bar.job
type=command
dependencies=foo
command=echo bar
举例3. hdfs上创建azaz目录
vi hdfs.job
#hdfs.job
type=command
command=/export/servers/hadoop/bin/hadoop fs -mkdir /azaz
成功后再note1:50070 中 /目录下 多了一个azaz目录
举例4 mapreduce 计算圆周率
#mr.job
type=command
command=/export/servers/hadoop/bin/hadoop jar hadoop-mapreduce-examples-2.7.4.jar pi 4 8
举例5 hive 执行sql脚本文件 【test.sql 和hivef.job】
vi hivef.job
use default;
drop table aztest;
create table aztest(id int,name string,age int) row format delimited fields terminated by ‘,’;
load data inpath ‘/user/hive/warehouse/cat.db/peopeo’ into table aztest;
create table azres as select id from aztest;
insert overwrite directory ‘/user/hive/warehouse/cat.db/peopeo’ select count(1) from aztest;
里面意思是:创建aztest表 向aztest添加映射数据文件 创建azres表并将aztest中的id做为azres表的数据
以及上传hadoop-mapreduce-examples-2.7.4.jar 将此jar包和mr.job 打成一个mr.zip
vi hivef.job
#hivef.job
type=command
command=/export/servers/hive/bin/hive -f ‘test.sql’
举例5 产生的结果 :hdfs 上 会将原本路径:/user/hive/warehouse/cat.db/peopeo’下的所有文件移动到/user/hive/warehouse/aztest’路径下 并作为aztest表的映射文件
hdfs web:note1:50070 上查看 结果显示成功
hive 服务器上:表正常 数据正常
举例6 针对举例5 验证自己的想法:是load data 导致的文件搬运 还是overwrite 导致的文件搬运
vi test2.sql
use cat;
load data inpath ‘/user/hive/warehouse/aztest’ into table peopeo;
vi hivef2.job
#hivef2.job
type=command
command=/export/servers/hive/bin/hive -f 'test2.sql
举例6 发现 文本文件又回到了 原来的peopeo 表路径下 aztest目录下文件没有了
所以是 load data 导致的文件移动。
注意一点:insert overwrite是删除原有数据然后在新增数据,如果有分区那么只会删除指定分区数据,其他分区数据不受影响。
bin 目录下存储的是可执行文件。
etc 目录下存储的是 hadoop 所有的配置文件。
include,lib,libexec 目录下存储的是本地库,暂时用不到。
sbin 目录下存储的 hadoop 的集群命令,比如:启动,停止。
share/doc 目录下存储的是 hadoop 的官方文档。
share/hadoop 目录下存储的是 hadoop 所有的依赖 jar 包。