Hadoop 关于oozie启动器作业的澄清

Hadoop 关于oozie启动器作业的澄清,hadoop,oozie,Hadoop,Oozie,我需要一些关于oozie启动器工作的澄清 1) 启动程序作业是按每个工作流应用程序(有多个操作)启动的,还是按工作流应用程序中的每个操作启动的 2) 用例:我有包含多个shell操作(内部执行spark、hive、pig操作等)的工作流。使用shell的原因是,可以使用自定义逻辑计算分区日期等附加参数,并使用.q文件将其传递给配置单元 示例Shell文件: hive -hiveconf DATABASE_NAME=$1 -hiveconf MASTER_TABLE_NAME=$2 -hiveco

我需要一些关于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.queuename
mapreduce.job.queuename
设置为不同的队列,以避免单个队列中的任务槽不足。我还在相应的
shell
操作中省略了
。但是,我仍然看到启动器作业占用了启动器队列中的大量内存

  • 这是因为启动器作业缓存来自配置单元的日志输出吗
  • 当以我的方式执行shell操作时,是否有必要给启动器作业足够的内存
  • 如果显式限制启动器作业内存,会发生什么情况
如果有人能概述oozie launcher工作的职责,我将不胜感激

谢谢

启动程序作业是按每个工作流应用程序(有多个操作)启动的,还是按工作流应用程序中的每个操作启动的

启动程序作业是根据工作流中的每个操作启动的

我强烈建议您使用相应的oozie操作、Hive、Pig等,因为它允许oozie以更好的方式处理您的工作流和操作

启动程序作业是按每个工作流应用程序(有多个操作)启动的,还是按工作流应用程序中的每个操作启动的

启动程序作业是根据工作流中的每个操作启动的


我强烈建议您分别使用oozie actions、Hive、Pig等,因为它可以让oozie更好地处理您的工作流程和操作。

感谢您的回复。你能详细说明一下怎样做更好吗?我的意思是,除了需要在shell操作中显式设置的配置(可能是oozie.hive.defaults等属性)之外,从线程队列内存消耗的角度来看,还有什么好处吗?谢谢您的回复。你能详细说明一下怎样做更好吗?我的意思是,除了需要在shell操作中显式设置的配置(可能是oozie.hive.defaults等属性)之外,从线程队列内存消耗的角度来看,还有什么好处吗?