• 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
  • 相关阅读:
    在其他机器上安装mysql和hive后设置hive元数据存储为mysql
    MapReduce作业切片和Shuffle
    sns 批量清除脚本
    PHP 汉字 转换成 拼音
    PHPCMS V9 和其他应用同步
    nginx启动,重启,关闭命令
    Linux下zip unzip的用户示例 解压到指定目录
    nginx phpcms rewrite规则
    javascript 里面嵌套方法
    数制及其转换
  • 原文地址:https://www.cnblogs.com/weiyiming007/p/12165362.html
Copyright © 2020-2023  润新知