草庐IT

oozie-setup

全部标签

hadoop - Oozie 协调器未以指定的频率间隔运行

我定义了一个Oozie协调员工作,如下所示:1${nameNode}/user/${user}/oozie/apps/DFE/queryGenerator-wfnameNode${nameNode}jobTracker${jobTracker}如您所见,我将频率定义为15分钟,并发为1。但是,作业每5分钟运行一次,它会同时启动我的工作流的4个实例,如下面的屏幕截图所示:我不明白为什么会这样,非常感谢您提供一些见解! 最佳答案 在这种情况下,我想您的开始时间是过去-如果您查看物化实例列,您会看到它们之间有15分钟的间隔。OOZIE在开

hadoop - OOZIE 中的多输入路径配置

我正在尝试在oozie中配置Mapreduce作业。此作业有两种不同的输入格式和两个输入数据文件夹。我用了这个帖子Howtoconfigureoozieworkflowformulti-inputpathwithmultiplemappers并将这些属性添加到我的workflow.xml中:mapred.input.dir.formatsfolder/data/*;org.apache.hadoop.mapred.SequenceFileInputFormat\,data/*;org.apache.hadoop.mapred.TextInputFormatmapred.input.di

java - 我们可以在 oozie 决策节点中使用参数吗?

我正在尝试在oozie3.3.2中执行一个决策控制节点,但出现javax.servlet.jsp.el.E​​LException遇到“{”${fs:fileSize(${OutputDir}/000000_0)gt100}我应该如何传递字符串格式的参数,因为上面提到的FS方法需要字符串输入? 最佳答案 来自document看来,您需要通过硬编码,即包含在'中就像在${fs:fileSize('/usr/foo/myinputdir'/1000)gt10}或只是参数名${fs:fileSize(OutputDir/1000)gt10

hadoop - 使用 Oozie for Hadoop 的最佳实践

我使用Hadoop已有一段时间了。一段时间后,我意识到我需要链接Hadoop作业,并拥有某种类型的工作流。我决定使用Oozie,但找不到太多关于最佳实践的信息。我想听听更有经验的人的意见。最好的问候 最佳答案 学习oozie的最好方法是下载发行版附带的示例tar文件并运行它们中的每一个。它有一个mapreduce、pig、流式工作流示例以及示例协调器xml。首先运行正常的工作流,调试后,转为使用协调器运行工作流,以便您可以逐步执行。最后一个最佳实践是使工作流和协调器中的大部分变量可配置并通过component.properties文

hadoop - 我应该永远使用 oozie 运行 MapReduce 任务吗?

我有一个mapReduce任务(https://github.com/flopezluis/testing-hadoop),它读取文件夹中的文件并将它们附加到zip。我需要永远运行这个任务,所以当它完成处理它们时,它应该再次运行。我正在阅读有关oozie的信息,但我不确定它是否最合适,因为它可能对我的问题来说太大了。如果oozie是最好的解决方案。如果我编写一个协调器每10分钟运行一次,如果任务耗时超过10分钟,协调器等待再次运行该任务会怎样?任务说明文件夹总是一样的。有不同的zip文件,一个是关键。这个想法是逐步创建zip文件。我认为这比处理完所有文件后创建zip文件要快。这些文件包

hadoop - 如何在oozie工作流中获取oozie jobId?

我有一个将调用shell文件的oozie工作流,Shell文件将进一步调用mapreduce作业的驱动程序类。现在我想将我的ooziejobId映射到MapreducejobId以供以后处理。有什么方法可以在工作流文件中获取ooziejobId,以便我可以将相同的as参数传递给我的驱动程序类以进行映射。以下是我的示例workflow.xml文件${jobTracker}${nameNode}mapred.job.queue.name${queueName}${jobScript}${fileLocation}${nameNode}${jobId}${jobScriptWithPath}

hadoop - oozie 中 Hive 操作的作业队列

我有一个oozie工作流程。我正在提交所有配置单元操作mapred.job.queue.name${queueName}但是对于少数hiveactions,启动的作业不在指定的队列中;它在默认队列中被调用。请告诉我此行为和解决方案背后的原因。 最佳答案 A.Oozie细节Oozie将“常规”Hadoop属性传播到“常规”MapReduce操作。但对于其他类型的Action(Shell、Hive、Java等),Oozie在YARN中运行单个Mapper任务,它并不认为这是一个真正的MapReduce作业。因此它使用了一组不同未记录的属

java - 在 Oozie 中将参数从一个 Action 传递到另一个 Action

我有以下shell脚本:DATE=date+"%d%b%y"-d"-1days"如何将DATE传递给Java操作? 最佳答案 您可以捕获shell脚本的输出并将其传递给java操作。在shell脚本中,回显类似“dateVariable=${DATE}”的属性并在shell操作中添加捕获输出元素。这将使您可以从shell脚本捕获dateVariable。在java操作中,您可以将捕获的变量作为参数传递为${wf:actionData('shellAction')['dateVariable']}其中shellAction是shell

hadoop - PL/SQL 能否可靠地转换为 Pig Lating 或带有 Pig Latin 和 Hive 的 Oozie 管道

我很好奇用Hadoop替换我的Oracle数据库,并且正在学习Hadoop生态系统。如果我要走这条路,我有很多PL/SQL脚本需要替换。我的印象是,通过一些努力,我能够将任何PL/SQL脚本转换/翻译成类似的PigLatin脚本。如果不仅仅是PigLatin,那么通过Oozie结合Hive和Pig。这是正确的吗? 最佳答案 虽然大多数SQL语句都可以翻译成等效的Pig和/或Hive语句,但hadoop文件系统固有的一些限制会传递给语言。主要限制是HDFS是一个一次写入,多次读取的系统。这意味着包含UPDATESQL命令或DELETE

hadoop - Oozie shell 操作可以在 HDFS 上创建输出文件吗?

我是Oozie和Hadoop的新手。我想问问我是否可以在Oozie中运行shell操作并将输出存储到Hadoop分布式文件系统上的文件中。 最佳答案 当然-使用以下作为shell操作的脚本:#!/bin/bashecho"foo">output.txthdfsdfs-moveFromLocaloutput.txt/your/path/in/hdfs 关于hadoop-Oozieshell操作可以在HDFS上创建输出文件吗?,我们在StackOverflow上找到一个类似的问题: