关于oozie发射器工作的澄清

时间:2016-03-18 06:52:02

标签: hadoop oozie

我需要对oozie发射器工作做一些澄清。

1)是否在工作流应用程序中为每个工作流程应用程序启动了启动器作业(有多个操作)或每个操作?

2)使用案例:我的工作流程包含多个shell操作(内部执行spark,hive,pig操作等)。使用shell的原因是因为可以使用自定义逻辑计算分区日期等其他参数,并使用.q文件传递给配置单元

Shell文件示例:

hive -hiveconf DATABASE_NAME=$1 -hiveconf MASTER_TABLE_NAME=$2 -hiveconf SOURCE_TABLE_NAME=$3 -hiveconf -f $4

示例.q文件:

use ${hiveconf:DATABASE_NAME};
insert overwrite into table ${hiveconf:MASTER_TABLE_NAME} select * from ${hiveconf:SOURCE_TABLE_NAME};

我将oozie.launcher.mapreduce.job.queuenamemapreduce.job.queuename设置为不同的队列,以避免单个队列中任务槽的饥饿。我还在相应的<capture-output></capture-output>操作中省略了shell。但是,我仍然看到启动器作业占用了启动器队列的大量内存。

  • 这是因为启动器作业会缓存来自配置单元的日志输出吗?
  • 在按照我的方式执行shell操作时,是否有必要为启动器作业提供足够的内存?
  • 如果我明确限制启动器的工作记忆会怎么样?

如果有人能够概述oozie发射器工作的职责,我将非常感激。

谢谢!

1 个答案:

答案 0 :(得分:0)

  

是否在工作流应用程序中启动了每个工作流应用程序启动的启动器作业(具有多个操作)或每个操作?

启动器作业将在工作流程中按操作启动。

我强烈建议您使用各自的oozie动作,Hive,Pig等。因为它允许oozie以更好的方式处理您的工作流程和操作。