Oozie shell 操作:exec 和文件标签

2024-06-15

我是 Oozie 的新手,我读过一些 Oozie shell 操作示例,但这让我对某些事情感到困惑。

我见过一些例子,但没有<file> tag.

一些例子,比如在 Cloudera 中here http://blog.cloudera.com/blog/2013/03/how-to-use-oozie-shell-and-java-actions/,在文件标记中重复 shell 脚本:

<shell xmlns="uri:oozie:shell-action:0.2">
    <exec>check-hour.sh</exec>
    <argument>${earthquakeMinThreshold}</argument>
    <file>check-hour.sh</file>
</shell>

而在奥兹的网站 https://oozie.apache.org/docs/4.1.0/DG_ShellActionExtension.html#Shell_Action,编写shell脚本(参考${EXEC}来自 job.properties,它指向 script.sh 文件)两次,用 # 分隔。

<shell xmlns="uri:oozie:shell-action:0.1">
    ...
    <exec>${EXEC}</exec>
    <argument>A</argument>
    <argument>B</argument>
    <file>${EXEC}#${EXEC}</file>
</shell>

我还看到过一些示例,其中路径(HDFS 还是本地?)前置在script.sh#script.sh<file> tag.

<shell xmlns="uri:oozie:shell-action:0.1">
    ...
    <exec>script.sh</exec>
    <argument>A</argument>
    <argument>B</argument>
    <file>/path/script.sh#script.sh</file>
</shell>

据我了解,任何shell脚本文件都可以包含在工作流HDFS路径中(与workflow.xml所在的路径相同)。

有人可以解释这些例子中的差异以及如何<exec>, <file>, script.sh#script.sh,以及/path/script.sh#script.sh被使用?


<file>hdfs:///apps/duh/mystuff/check-hour.sh</file> means “将该 HDFS 文件下载到为 Shell 操作运行 Oozie Launcher 的 YARN 容器的当前工作目录中,默认使用相同的文件名,以便我可以将其引用为./check-hour.sh或者简单地check-hour.sh 元素中”.

<file>check-hour.sh</file> means “从我的用户的主目录下载该 HDFS 文件,例如hdfs:///user/borat/check-hour.sh——进入等等等等。”.

<file>hdfs:///apps/duh/mystuff/check-hour.sh#youpi</file> means “下载 HDFS 文件等,将其重命名为youpi,这样我就可以将其引用为./youpi或者简单地youpi在元素中”.

请注意,Hue UI 经常插入不必要的内容#没有实际名称更改的东西。这就是为什么你会经常看到它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Oozie shell 操作:exec 和文件标签 的相关文章

随机推荐

  • Ember - 如何在嵌套数据对象上使用pushObject?

    由于这篇文章 我已经可以将新对象推入 jobs 和 jobProducts 数组中如何在 Ember js 中创建嵌套模型 https stackoverflow com questions 9186214 how to create ne
  • 仅使用扩展方法在 Linq 中进行漂亮、干净的交叉连接 [重复]

    这个问题在这里已经有答案了 可能的重复 使用扩展方法表示的嵌套 from LINQ 查询 https stackoverflow com questions 9115675 nested from linq query expressed
  • 在 Android 模拟器中获取互联网连接

    我有一台带有wifi连接的台式电脑 我的IP地址是192 168 12 95 网关是192 168 10 10 但是我在android模拟器中没有获得互联网连接 也就是说我无法访问internate 我也尝试过 emulator avd w
  • 使用 Observable 与 Immutable 进行变更检测

    所以我读了本文 http victorsavkin com post 110170125256 change detection in angular 2关于 Angular 2 变更检测 但读完之后我变得更加困惑 所以我开始阅读一些导致更
  • VBA 中的多线程

    这里有人知道如何让VBA运行多线程吗 我正在使用 Excel 无法用 VBA 本地完成 VBA 构建在单线程单元中 获得多个线程的唯一方法是使用 VBA 之外的其他具有 COM 接口的东西构建 DLL 并从 VBA 调用它 信息 OLE 线
  • VHDL 中奇怪的 XNOR 行为

    导致问题的代码看起来像正常的 xnor 操作 如下所示 S 1 lt L 16 xnor L 26 该行会导致以下错误 ncvhdl p E EXPSMI HDL aes sbox enc depth16 vhd 169 14 expect
  • 从 API 获取 Twitter 卡

    我将能够检索 Twitter 卡中存储内容的 HTML 标记 https dev twitter com docs cards https dev twitter com docs cards 到目前为止 我使用 TweetSharp 库从
  • 如何使用 DataStax java 驱动程序增加 cassandra 中的每秒事务数 (TPS)

    设置 2 节点 Cassandra 2 0 7 31 集群 副本 1 DataStax java 驱动程序 2 0 Problem 我正在使用 Datastax java 驱动程序进行负载平衡 我并通过 Jmeter 生成 50000 线程
  • 分层架构中的异常处理

    我们正在分层设计中重构 当然还有重新设计 我们的服务 我们有服务操作层 BLL 网络抽象层 gt 处理网络代理 数据抽象层 但我们对我们的异常处理策略有点困惑 我们不想向外界透露太多 BLL 的信息 从其他层到bll就可以了 我们不想让 t
  • 初学者 Actionscript 参考

    我八岁的儿子要求 教他 Flash 编程 有人可以参考好的在线 Actionscript 学习资源吗 我们拥有的 Flash 版本是 Flash MX 先感谢您 看看这是否符合您的要求 http www scribd com doc 940
  • 运行 t4 脚本作为 resx 文件的自定义工具

    我有一个资源文件MyResource resx 我想改变MyResource Designer cs文件生成 我有一个 t4 脚本 它接受 resx 文件作为输入并给出结果转换 但是 我必须手动运行此 t4 才能使其工作 我看到 resx
  • 通过 Javascript 将图像切割成碎片

    我正在创建一个简单的拼图游戏 为了做到这一点 我需要将我正在使用的图片切成 20 块 Javascript 有没有办法将一张图片切成 20 个相等的部分 并将它们保存为网页中的 20 个不同的对象 或者我只需要进入 Photoshop 自己
  • 如何让版权信息显示在 Eclipse RCP 应用程序的“关于”对话框中

    我正在使用 Eclipse 的 IWorkbenchAction 它显示 Eclipse 关于对话框 当我在 RCP 应用程序中使用该操作时 关于 对话框成功显示 但是 当我想继续单击 安装详细信息 按钮时 我会看到一个带有选项卡的对话框
  • 在 R 中向散点图添加线条

    如何向图表添加线条 我做了以下 dat lt data frame xvar 1 20 rnorm 20 sd 10 yvar 1 20 rnorm 20 sd 10 zvar 1 20 rnorm 20 sd 10 plot dat 1
  • 不使用 graphviz/web 可视化决策树

    由于某些限制 我无法使用 graphviz webgraphviz com 可视化决策树 工作网络与另一个世界是封闭的 问题 是否有一些替代实用程序或一些 Python 代码用于至少非常简单的可视化可能只是决策树的 ASCII 可视化 py
  • SQLAlchemy 默认日期时间

    这是我的声明模型 import datetime from sqlalchemy import Column Integer DateTime from sqlalchemy ext declarative import declarati
  • Magento - 当我的订单取消或退款时如何运行代码

    如果订单被取消或退款 我的支付模块需要向支付服务发送通知 我假设订单页面 在管理后端 上的 取消 按钮将取消订单 而 贷项通知单 按钮 创建发票后 将退还订单 如何针对这些事件运行我的代码 我尝试在付款方式模型中使用 cancel 方法 但
  • javascript中输入类型时间的值

    我有这个html
  • 生产环境的 Flask-Login 与 Flask-Security

    我正在构建一个功能 供用户注册 登录 验证和授权自己 特别是使用 Python Flask 作为后端 我找到了一些解决方案 例如flask login and flask security 据我了解 flask login实际上并没有进行任
  • Oozie shell 操作:exec 和文件标签

    我是 Oozie 的新手 我读过一些 Oozie shell 操作示例 但这让我对某些事情感到困惑 我见过一些例子 但没有