zoukankan      html  css  js  c++  java
  • 1.15-1.16 sqoop action

    一、sqoop action1

    http://oozie.apache.org/docs/4.0.0/DG_SqoopActionExtension.html

    1、准备文件

    ##
    [root@hadoop-senior oozie-apps]# mkdir sqoop-import-user
    
    
    ##job.properties
    nameNode=hdfs://hadoop-senior.ibeifeng.com:8020
    jobTracker=hadoop-senior.ibeifeng.com:8032
    queueName=default
    oozieAppsRoot=user/root/oozie-apps
    oozieDataRoot=user/root/oozie/datas
    
    oozie.use.system.libpath=true
    
    oozie.wf.application.path=${nameNode}/${oozieAppsRoot}/sqoop-import-user
    
    outputDir=sqoop-import-user/output
    
    
    ##
    <workflow-app xmlns="uri:oozie:workflow:0.5" name="sqoop-wf">
        <start to="sqoop-node"/>
    
        <action name="sqoop-node">
            <sqoop xmlns="uri:oozie:sqoop-action:0.3">
                <job-tracker>${jobTracker}</job-tracker>
                <name-node>${nameNode}</name-node>
                <prepare>
                    <delete path="${nameNode}/${oozieDataRoot}/${outputDir}"/>
                </prepare>
                <configuration>
                    <property>
                        <name>mapred.job.queue.name</name>
                        <value>${queueName}</value>
                    </property>
                </configuration>
                <command>import --connect jdbc:mysql://hadoop-senior.ibeifeng.com:3306/test --username root --password 123456 --table my_user --target-dir /user/root/oozie/datas/sqoop-import-user/output --fields-terminated-by "$$$" --num-mappers 1</command>
            </sqoop>
            <ok to="end"/>
            <error to="fail"/>
        </action>
    
        <kill name="fail">
            <message>Sqoop failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
        </kill>
        <end name="end"/>
    </workflow-app>
    
    
    ##
    <command></command>        //sqoop要执行的命令


    2、运行sqoopaction

    ##复制mysql驱动
    [root@hadoop-senior oozie-apps]# mkdir sqoop-import-user/lib
    
    [root@hadoop-senior oozie-apps]# cp /opt/softwares/mysql-libs/mysql-connector-java-5.1.27/mysql-connector-java-5.1.27-bin.jar sqoop-import-user/lib/
    
    
    ##上传到hdfs
    [root@hadoop-senior oozie-apps]# /opt/cdh-5.3.6/hadoop-2.5.0-cdh5.3.6/bin/hdfs dfs -put sqoop-import-user/ /user/root/oozie-apps/
    
    
    
    ## 运行
    export OOZIE_URL=http://hadoop-senior.ibeifeng.com:11000/oozie/
    [root@hadoop-senior oozie-4.0.0-cdh5.3.6]# bin/oozie job -config oozie-apps/sqoop-import-user/job.properties -run


    二、sqoop action2

    1、准备文件

    ##
    [root@hadoop-senior oozie-apps]# mkdir sqoop-import-user2
    
    
    ##job.properties
    nameNode=hdfs://hadoop-senior.ibeifeng.com:8020
    jobTracker=hadoop-senior.ibeifeng.com:8032
    queueName=default
    oozieAppsRoot=user/root/oozie-apps
    oozieDataRoot=user/root/oozie/datas
    
    oozie.use.system.libpath=true
    
    oozie.wf.application.path=${nameNode}/${oozieAppsRoot}/sqoop-import-user
    
    outputDir=sqoop-import-user/output
    
    
    ##workflow.xml
    <workflow-app xmlns="uri:oozie:workflow:0.5" name="sqoop-wf">
        <start to="sqoop-node"/>
    
        <action name="sqoop-node">
            <sqoop xmlns="uri:oozie:sqoop-action:0.3">
                <job-tracker>${jobTracker}</job-tracker>
                <name-node>${nameNode}</name-node>
                <prepare>
                    <delete path="${nameNode}/${oozieDataRoot}/${outputDir}"/>
                </prepare>
                <configuration>
                    <property>
                        <name>mapred.job.queue.name</name>
                        <value>${queueName}</value>
                    </property>
                </configuration>
                <command>import --options-file imp-user.sql</command>
            </sqoop>
            <ok to="end"/>
            <error to="fail"/>
        </action>
    
        <kill name="fail">
            <message>Sqoop failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
        </kill>
        <end name="end"/>
    </workflow-app>
    
    
    ##imp-user.sql
    --connect
    jdbc:mysql://hadoop-senior.ibeifeng.com:3306/test
    --username
    root
    --password
    123456
    --table
    my_user
    --target-dir
    /user/root/oozie/datas/sqoop-import-user/output
    --fields-terminated-by
    "	"
    --num-mappers
    1


    2、运行

    ##
    [root@hadoop-senior oozie-apps]# cp /opt/softwares/mysql-libs/mysql-connector-java-5.1.27/mysql-connector-java-5.1.27-bin.jar sqoop-import-user2/lib/
    
    ##
    [root@hadoop-senior oozie-apps]# ls sqoop-import-user2/
    imp-user.sql  job.properties  lib  workflow.xml
    
    [root@hadoop-senior oozie-apps]# 
    [root@hadoop-senior oozie-apps]# /opt/cdh-5.3.6/hadoop-2.5.0-cdh5.3.6/bin/hdfs dfs -put sqoop-import-user2/ /user/root/oozie-apps
    
    
    ##运行
    [root@hadoop-senior oozie-4.0.0-cdh5.3.6]# export OOZIE_URL=http://hadoop-senior.ibeifeng.com:11000/oozie/
    [root@hadoop-senior oozie-4.0.0-cdh5.3.6]# bin/oozie job -config oozie-apps/sqoop-import-user2/job.properties -run
  • 相关阅读:
    CPU,MPU,MCU,SOC,SOPC联系与差别
    中央处理器
    手机CPU
    手机CPU天梯图2018年5月最新版
    Ubuntu输入法切换问题
    说说C与汇编之间的互相联系(转)
    MDK972-EK开发板裸调试设置和裸机程序烧写(转)
    来,打一下五笔的字根表
    64位debian系统下安装inodeClient
    计算机网络——链路层协议
  • 原文地址:https://www.cnblogs.com/weiyiming007/p/10862248.html
Copyright © 2011-2022 走看看