1.创建 lib 目录并拷贝 mysql 支持包

2.修改 job.properties 文件

nameNode=hdfs://cen-ubuntu.cenzhongman.com:8020
jobTracker=localhost:8032
queueName=default
oozieAppsRoot=oozie-apps oozie.use.system.libpath=true oozie.wf.application.path=${nameNode}/user/cen/${oozieAppsRoot}/sqoop-import/
outputDir=sqoop-import/output

3.修改 workflow.xml 文件

<workflow-app xmlns="uri:oozie:workflow:0.5" name="sqoop-import-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}/user/cen/${oozieAppsRoot}/${outputDir}"/>
</prepare>
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>${queueName}</value>
</property>
</configuration>
<command>import --options-file sqoop-import.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>

注意事项

  • workflow 版本0,5 sqoop action 版本0.3
  • 使用的是新版本的API,但旧版本依旧支持使用(可以不用改)
  • 上文command>支持三种使用 sqoop 方式,下文会说明
  • 特别重要的 command> 只支持 “ ”

4.上传文件到HDFS文件系统

5.执行程序

export OOZIE_URL=http://cen-ubuntu:11000/oozie/
bin/oozie job --config /opt/cdh5.3.6/oozie-4.1.0-cdh5.12.0/oozie-apps/sqoop-import/job.properties -run

注:三种命令方式

1.直接执行 sqoop 命令

<command>import --connect jdbc:mysql://cen-ubuntu:3306/mysql --username root --password ubuntu --table user --target-dir /user/cen/oozie-apps/sqoop-import/output --fields-terminated-by "\t" --num-mappers 1 --direct</command>

2.从相对路径导入文件(文件在HDFS上的应用目录下)涉及文件需要使用file,可参考 shell

<command>import --options-file sqoop-import.sql</command>

 # job.properties文件名
EXEC=xxx.sql # workflow.xml
<!--Copy the executable to compute node's current working directory -->
<file>${nameNode}/user/cen/${oozieAppsRoot}/sqoop-import/${EXEC}#${EXEC}</file>

3.从绝对路径导入

# job.properties
sqoop-import=${nameNode}/user/cen/${oozieAppsRoot}/sqoop-import/sqoop-import
# workflow.xml
<command>import --options-file ${sqoop-import}</command>

最新文章

  1. laravel的配置文件
  2. [Android Pro] ActionBarDrawerToggle 使用小结
  3. Mininet实验 源码安装Mininet
  4. 解决ubuntu中apache2的url大小写敏感问题。
  5. Ubuntu 启动停止脚本
  6. 修改Widows网络设置提升网速
  7. Android Retrofit实现原理分析
  8. Java设计模式之工厂模式(简单工厂模式+工厂方法模式)
  9. WCF SOA服务应用
  10. centos postfix 邮箱安装记录
  11. HDU_2027——统计元音
  12. 组织Golang代码
  13. 添加FTP用户(vsftpd)
  14. myeclipse设置环境(最实用的教程)
  15. Cocos2d中update与fixedUpdate的区别(三)
  16. Java常用调试技巧(转)
  17. BZOJ2564: 集合的面积(闵可夫斯基和 凸包)
  18. MyEclipse中抽取接口、父类
  19. xampp for mac 本地服务器的使用
  20. Intellij IDEA Scala开发环境搭建

热门文章

  1. TX Text Control X10新特性之图像占位符合并
  2. css3实现iPhone滑动解锁
  3. Andoid Intent学习之在各个活动之间传递数据
  4. Swift自适应布局(Adaptive Layout)教程(一)
  5. python 不同目录间的模块调用
  6. 解析Excel文件 Apache POI框架使用
  7. react+webpack 引入字体图标
  8. bzoj3882 [Wc2015]K小割
  9. 剑指offer17 合并两个排序的链表
  10. Java 压缩文件夹工具类(包含解压)