在Oozie 中调度执行shell、hive 脚本,以及通过shell脚本执行hive/sqoop/shell脚本的方法

本文档详细介绍了如何在Oozie中调度执行Shell脚本、Hive脚本,以及如何通过Shell脚本调度执行Hive、Sqoop等任务。在实际操作中遇到了权限、路径、文件配置等问题,文中提供了具体的解决策略和步骤,包括设置脚本权限、指定完整文件路径、使用hive-site.xml配置文件等,并给出了各个步骤的注意事项,以确保Oozie工作流的正确执行。
摘要由CSDN通过智能技术生成

  最近项目需要用到OOzie工具,可是找了好久,也没有找到一个完整的、统一的解决和部署方案。经过努力,终于打通了其中的所有环节,解决了各种坑爹的问题。

  首先,就项目需求做一个简单的介绍:

     项目需要从mysql中导入数据到hive进行离线计算后,再导回到mysql。过程很简单,所有流程通过shell脚本实现了调度。

  

问题描述:shell调度脚本执行很好,但是放到Oozie上调度执行,却发现了各种坑。第一个大坑页面上运行结果显示成功,但是结果表中却并没有数据。显然,执行的过程中肯定有环节出了问题。

解决策略: 将调度脚本中的各个流程分拆开来,单独放到一个shell脚本中,然后用Oozie调度执行。具体分拆步骤如下:

一、shell 脚本中执行shell脚本。

     在cloudera 的官网(http://gethue.com/use-the-shell-action-in-oozie/)上给出了一个demo,但是只是执行shell脚本自身。那对于shell脚本中执行shell脚本的情况,与demo中的方法类似。也要指明shell脚本的名称以及路径。如图1所示:

    需要注意的是:1、文件的权限必须具有可执行权限。本例采用了“777”权限。 2、第一个输入框处填包含后缀的文件名,文件部分的输入框要包含调度脚本和被调度脚本的完整文件名(包含路径和后缀),且都具有可执行权限。

   

                                                                       图1  shell脚本中包含shell脚本</

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值