标签: oozie

DAG(有向无环图)动态作业调度程序

我需要管理ETL任务的大型工作流程,其执行取决于时间,数据可用性或外部事件.在执行工作流程期间,某些作业可能会失败,并且系统应该能够重新启动失败的工作流程分支,而无需等待整个工作流程完成执行.

python中有没有可以处理这个的框架?

我看到几个核心功能:

  • DAG建筑
  • 执行节点(运行shell cmd,等待,记录等)
  • 能够在执行期间在父DAG中重建子图
  • 能够在父图运行时手动执行节点或子图
  • 在等待外部事件时挂起图执行
  • 列出作业队列和作业详细信息

Oozie这样的东西,但更通用的目的和python.

python etl scheduling directed-acyclic-graphs oozie

27
推荐指数
2
解决办法
2万
查看次数

哪一个选择Apache Oozie或Apache Airflow?需要比较

我是工作调度员的新手,正在寻找一个在大数据集群上运行工作的人.我对可用的选择很困惑.发现Oozie与TWS,Autosys等现有产品相比有很多局限性.

在Oozie vs. Airflow上需要一些比较点.

感谢您的帮助.

jobs oozie airflow airflow-scheduler

16
推荐指数
1
解决办法
8622
查看次数

Oozie工作流程,协调员和捆绑包之间有什么区别

Oozie工作流程,协调员和捆绑包有什么区别?

Oozie工作流定义了一系列动作.我们需要在每次运行时手动调用它.可以通过协调员安排相同的工作流程.这种理解是否正确?

然后什么是额外捆绑?

我想它会再次用于安排一组协调员.那么为什么不能使用一个协调器来安排其他协调器,就像一个工作流可以有另一个子工作流.

hadoop scheduler oozie oozie-coordinator

14
推荐指数
1
解决办法
8209
查看次数

使用Oozie运行shell脚本

我试图sh通过Oozie 运行脚本,但我遇到了一个问题:

无法运行程序"script.sh"(在目录"/ mapred/local/taskTracker/dell/jobcache/job_201312061003_0001/attempt_201312061003_0001_m_000000_0/work"):java.io.IOException:error = 2,没有这样的文件或目录.

请帮我完成必要的步骤.

oozie

12
推荐指数
2
解决办法
3万
查看次数

我可以提交包含多个配置文件的oozie作业吗?

从Oozie CLI我想做这样的事情:

oozie job -oozie http://host:port/oozie -config jobConfig.properties, baseConfig.properties -submit
Run Code Online (Sandbox Code Playgroud)

我正在运行很多不同的工作,其中.properties文件的一部分是相同的.我希望能够将该重复部分移动到单个baseConfig.properties文件中,并在我提交作业时将其与作业特定部分相结合.

hadoop configuration-files oozie

11
推荐指数
1
解决办法
3242
查看次数

oozie时区设置

我是oozie的新手,在更改oozie默认时区时遇到问题.我正在编写oozie协调员工作,并试图指定时区

<coordinator-app name="hello-coord" frequency="${coord:days(1)}"
                  start="2009-01-02T08:00Z" end="2009-01-04T08:00Z" timezone="GMT+05:30"
                 xmlns="uri:oozie:coordinator:0.1">
Run Code Online (Sandbox Code Playgroud)

如此处所述http://oozie.apache.org/docs/3.2.0-incubating/CoordinatorFunctionalSpec.html#a4._Datetime_Frequency_and_Time-Period_Representation 但它不起作用.任何人都可以告诉我哪里出错了?

其次,我想获得oozie工作流程开始的日期时间.假设我想在过去的某个日期(例如一周前)运行协调员工作,该工作运行了一整天,频率为15分钟.我想要的是在工作流程开始时有日期时间.

非常感谢你宝贵的时间

oozie

10
推荐指数
1
解决办法
8468
查看次数

如何部署和运行oozie工作?

我正在尝试使用oozie做一个简单的工作.
这将是一个简单的猪行动.

我有一个文件:FirstScript.pig包含:

dual = LOAD 'default.dual' USING org.apache.hcatalog.pig.HCatLoader();
store dual into 'dummy_file.txt' using PigStorage();
Run Code Online (Sandbox Code Playgroud)

和一个workflow.xml包含:

<workflow-app name="FirstWorkFlow" xmlns="uri:oozie:workflow:0.2">
    <start to="FirstJob"/> 
    <action name="FirstJob">
        <pig>
            <job-tracker>hadoop:50300</job-tracker>
            <name-node>hdfs://hadoop:8020</name-node>
            <script>/FirstScript.pig</script>
        </pig>
        <ok to="okjob"/>
        <error to="errorjob"/>
    </action>
    <ok name='okjob'>    
        <message>job OK, message[${wf:errorMessage()}]</message>
    </ok>    
    <error name='errorjob'>    
        <message>job error, error message[${wf:errorMessage()}]</message>
    </error>    
</workflow-app>
Run Code Online (Sandbox Code Playgroud)

我创建了结构:

FirstScript
|- lib
|---FirstScript.pig
|- workflow.xml
Run Code Online (Sandbox Code Playgroud)

现在怎么办?如何部署它并与oozie一起运行?
任何人都可以获得经验帮助

关心
帕维尔

hadoop apache-pig oozie

10
推荐指数
1
解决办法
2万
查看次数

oozie使用今天日期创建参数

如何使用格式的今天日期创建参数:

yyyy-mm-dd
Run Code Online (Sandbox Code Playgroud)

在oozie.我将此变量传递给hive脚本,该脚本正在添加该日期的分区,我找到了使用以下命令创建时间戳的函数:

<param>DATE=${wf:timestamp()}</param>
Run Code Online (Sandbox Code Playgroud)

应该以下列形式返回输出:

(YYYY-MM-DDThh:mm:ss.sZ). I.e.: 1997-07-16T19:20:30.45Z
Run Code Online (Sandbox Code Playgroud)

但我收到错误:

No function is mapped to the name "wf:timestamp"
Run Code Online (Sandbox Code Playgroud)

另外我只想YYYY-MM-DD从时间戳开始,并且没有子串函数也可以给我前10个字符串的字符串.

date oozie oozie-coordinator

10
推荐指数
1
解决办法
1万
查看次数

oozie如何处理依赖关系?

我有几个关于oozie 2.3共享库的问题:

目前,我在coordinator.properties中定义了共享库:

oozie.use.system.libpath=true 
oozie.libpath=<hdfs_path>
Run Code Online (Sandbox Code Playgroud)

这是我的问题:

  1. 共享库被复制到其他数据节点时,有多少数据节点将获得共享库?

  2. 共享库是根据协调器作业中的wf数复制到其他数据节点还是每个协调器作业只复制一次?

hadoop oozie oozie-coordinator

9
推荐指数
1
解决办法
5359
查看次数

Oozie作业错误 - java.io.IOException:未指定配置

我为hive脚本创建了一个oozie工作流,以便在表中加载数据.

我的workflow.xml包含 -

<workflow-app xmlns="uri:oozie:workflow:0.4" name="Hive-Table-Insertion">
  <start to="InsertData"/>

  <action name="InsertData">
    <hive xmlns="uri:oozie:hive-action:0.4">
      <job-tracker>${jobTracker}</job-tracker>
      <name-node>${nameNode}</name-node>
      <prepare>
        <delete path="${workflowRoot}/output-data/hive"/>
        <mkdir path="${workflowRoot}/output-data"/>
      </prepare>
      <job-xml>${workflowRoot}/hive-site.xml</job-xml>
      <configuration>
        <property>
          <name>oozie.hive.defaults</name>
          <value>${workflowRoot}/hive-site.xml</value>
        </property>
      </configuration>
      <script>load_data.hql</script>
    </hive>
    <ok to="end"/>
    <error to="fail"/>
  </action>

  <kill name="fail">
    <message>Hive failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
  </kill>
  <end name="end"/>
</workflow-app>
Run Code Online (Sandbox Code Playgroud)

我的job.properties文件包含 -

nameNode=hdfs://localhost:8020
jobTracker=localhost:8021
queueName=default
workflowRoot=HiveLoadData
oozie.libpath=${nameNode}/user/oozie/share/lib
oozie.wf.application.path=${nameNode}/user/${user.name}/${workflowRoot}
Run Code Online (Sandbox Code Playgroud)

当我尝试使用命令"oozie job -oozie http:// localhost:11000 / oozie -config /user/oozie/HiveLoadData/job.properties -submit"提交我的工作时,我收到以下错误,

java.io.IOException: configuration is not specified
        at org.apache.oozie.cli.OozieCLI.getConfiguration(OozieCLI.java:729)
        at org.apache.oozie.cli.OozieCLI.jobCommand(OozieCLI.java:879)
        at org.apache.oozie.cli.OozieCLI.processCommand(OozieCLI.java:604)
        at org.apache.oozie.cli.OozieCLI.run(OozieCLI.java:577)
        at org.apache.oozie.cli.OozieCLI.main(OozieCLI.java:204)
configuration is not …
Run Code Online (Sandbox Code Playgroud)

hadoop hdfs oozie

9
推荐指数
1
解决办法
1万
查看次数