zoukankan      html  css  js  c++  java
  • azkaban使用案例

    一、Command类型的单一job

    command1.job

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

    hello.sh

    #!/bin/bash
    echo 'hello azkaban'

    将job资源文件打包成zip文件:

    image

    通过azkaban的web管理平台创建project并上传job压缩包

    image

    image

    启动执行该job

    image

    image

    这里直接执行,执行完后可以查看:

    image

    image

    二、Command类型的多job工作流

    第一个job:foo.job

    # foo.job
    type=command
    command=echo foo

    第二个job:bar.job依赖foo.job

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

    将所有job资源文件打到一个zip包中

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

    启动工作流

    image

    三、HDFS操作任务

    首先看一下hdfs目录:

    [root@node1 conf]# hdfs dfs -ls /
    Found 3 items
    drwxr-xr-x   - root supergroup          0 2019-12-10 17:44 /hbase
    drwxrwxrwx   - root supergroup          0 2019-11-28 14:57 /tmp
    drwxr-xr-x   - root supergroup          0 2019-11-29 15:10 /user

    fs.job  创建一个目录

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

    将所有job资源文件打到一个zip包中

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

    启动工作流

    再查看一下hdfs目录:

    [root@node1 conf]# hdfs dfs -ls /
    Found 4 items
    drwxr-xr-x   - root supergroup          0 2020-01-07 17:56 /azaz
    drwxr-xr-x   - root supergroup          0 2019-12-10 17:44 /hbase
    drwxrwxrwx   - root supergroup          0 2019-11-28 14:57 /tmp
    drwxr-xr-x   - root supergroup          0 2019-11-29 15:10 /user

    四、MapReduce任务

    创建input文件

    复制代码
    [root@node1 files]# hdfs dfs -mkdir /azaz/input
    
    [root@node1 files]# cat wc.txt 
    hello linux
    hello word
    hive mysql
    mysql hbase
    
    [root@node1 files]# hdfs dfs -put wc.txt /azaz/input
    复制代码

    创建job描述文件,及mr程序jar包(示例中直接使用hadoop自带的example jar)

    # mrwc.job
    type=command
    command=/opt/hadoop-2.7.3/bin/hadoop  jar hadoop-mapreduce-examples-2.7.3.jar wordcount /azaz/input /azaz/output

    将jar包和job文件打成zip包

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

    启动工作流

    最后查看执行结果:

    复制代码
    [root@node1 files]# hdfs dfs -text /azaz/output/part-r-00000
    hbase    1
    hello    2
    hive    1
    linux    1
    mysql    2
    word    1
    复制代码

    五、HIVE脚本任务

    c.txt

    [root@node1 files]# cat c.txt 
     1,zhangsan
     2,lisi
     3,wangwu

    hdfs dfs -pur c.txt /azaz/hiveinput

    Hive脚本: test.sql

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

    job文件:hivef.job

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

    将所有job资源文件打到一个zip包中

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

    启动job

    查看结果:

    复制代码
    hive> use default;
    
    hive> select * from aztest;
    OK
    1    zhangsan
    2    lisi
    3    wangwu
    
    hive> select * from azres;
    OK
    1    zhangsan
    2    lisi
    3    wangwu
    复制代码

     

     
  • 相关阅读:
    springboot 整合 pagehelper
    Linux maven安装
    linux 查看端口状态
    mysql执行顺序
    Java int/int 保留2位小数
    【每日一题】30.储物点的距离 (区间处理,前缀和/线段树//树状数组)
    【每日一题】29.maze (BFS 进阶)
    2016年第七届 蓝桥杯C组 C/C++决赛题解
    2016年第七届 蓝桥杯A组 C/C++决赛题解
    第六届蓝桥杯C++A组 A~F题题解
  • 原文地址:https://www.cnblogs.com/javalinux/p/14993758.html
Copyright © 2011-2022 走看看