我需要一些关于oozie发射器工作的说明。
( 1)启动作业是在每个工作流应用程序(包含多个操作)还是工作流应用程序中的每个操作中启动?
2)用例:我有包含多个shell操作的工作流(在内部执行星星之火、蜂巢、猪操作等)。使用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设置为不同的队列,以避免单个队列中的任务槽饥饿。我还在相应的<capture-output></capture-output>操作中省略了shell。但是,我仍然看到启动程序任务占用了启动队列中的大量内存。
如果有人能概述oozie发射器的工作职责,我会非常感激的。
谢谢!
发布于 2016-03-21 11:11:17
启动作业是在每个工作流应用程序(包含多个操作)还是工作流应用程序中的每个操作中启动的?
启动作业将在工作流中的每个操作中启动。
我强烈建议您使用各自的oozie操作、Hive、Pig等,因为它允许oozie以更好的方式处理您的工作流和操作。
https://stackoverflow.com/questions/36077951
复制相似问题