问题标签 [oozie]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4244 浏览

date - 在 oozie 中根据日期创建输出文件

我正在使用 oozie 来运行我的 map-reduce 工作。我想根据日期创建输出文件。但它将日期作为字符串并最终打印而不是将日期作为值:

这是 oozie 属性文件:

不知何故,我不能将 oozie 作为标签,因为我的声誉低于 1500

0 投票
2 回答
1983 浏览

java - 使用 oozie 写入 mapreduce 作业的多个输出流的正确方法是什么?

我正在使用新的 Hadoop API 来编写一系列 map-reduce 作业。我计划使用Oozie将所有这些管道连接在一起,但我似乎无法找到一种方法来从工作流中的一个map-reduce节点执行多个输出流。

通常要编写多个输出,我会使用类似于MultipleOutputs javadoc中给出的代码的代码,但 oozie 从workflow.xml文件中获取其所有配置,因此无法像示例中那样配置命名输出。

我遇到了一个讨论在 Oozie 中使用多个输出的线程,但是除了创建 Java 任务并将其直接添加到 Oozie 管道之外,没有其他解决方案。

有没有办法通过map-reduce节点中的workflow.xml

编辑:

克里斯的解决方案确实有效,但我希望有更好的方法。这是我所做的确切更改。

我在 workflow.xml 文件中添加了以下内容:

我在启动时提供给 oozie 的 job.properties 文件中添加了以下内容:

然后在减速器中,我写入了命名的输出totalsuniques.

0 投票
3 回答
1450 浏览

serialization - oozie 上的 Avro Map-Reduce

我一直在尝试在 oozie 上运行 Avro map-reduce。我在 workflow.xml 中指定了 mapper 和 reducer 类,并提供了其他配置。但它给出了一个

直接在 hadoop 集群(而不是通过 oozie)上运行时,相同的作业会完成并提供所需的输出。因此,我似乎可能缺少一些 oozie 配置。我从异常中猜想的是,oozie 要求映射器是一个子类,org.apache.hadoop.mapred.Mapper但 Avro 映射器具有不同的签名——它们扩展了 org.apache.avro.mapred.AvroMapper,这可能是错误的原因。

所以我的问题是如何配置 oozie 工作流/属性文件以允许它运行 Avro map-reduce 作业。

0 投票
1 回答
5592 浏览

hadoop - oozie 如何处理依赖关系?

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

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

以下是我的问题:

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

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

0 投票
2 回答
1153 浏览

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

我有一个 mapReduce 任务(https://github.com/flopezluis/testing-hadoop),它读取文件夹中的文件并将它们附加到一个 zip 文件中。我需要永远运行这个任务,所以当它完成处理它们时,它应该再次运行。我正在阅读有关 oozie 的信息,但我不确定它是否最合适,因为它可能对我的问题来说太大了。

如果 oozie 是最好的解决方案。如果我写一个协调器每10分钟运行一次,如果任务超过10分钟,协调器等待再次运行任务会发生什么?

任务说明

文件夹始终相同。有不同的 zips 文件,一个用于密钥。这个想法是逐步创建 zip 文件。我认为这比在处理完所有文件后创建 zip 文件要快。这些文件包含如下内容:

所以拉链会是这样的:

key1.zip --> 数据1,数据2

key3.zip --> 数据3

谢谢

0 投票
2 回答
2228 浏览

hadoop - 工作流工具比较:Oozie Vs Cascading

我正在寻找一种工作流工具来运行复杂的 map-reduce 作业。我想到了 Oozie,但也想探索 Cascading。是否有使用级联 API 链接现有 M/R 作业的示例代码或示例?另外,你能提供 Oozie Vs Cascading 的比较吗?

0 投票
1 回答
2049 浏览

hadoop - oozie 可以忽略丢失的输入文件吗?

在我的 oozie coordinator.xml 文件中,我将以下内容定义为输入目录:

这匹配文件名与“Pattern1”或“Pattern2”匹配的目录中的文件。如果目录包含文件 Pattern1 文件和 Pattern2 文件,我的作业运行没有问题。但是,如果该目录仅包含 Pattern1 文件或 Pattern2 文件,我的工作将失败,并且我收到如下错误:

Oozie Launcher 失败,主类 [org.apache.oozie.action.hadoop.MapReduceMain],main() 抛出异常,输入模式 hdfs://hdfsPath/logs/2012/07/09/02/ Pattern1匹配 0 个文件 org. apache.hadoop.mapreduce.lib.input.InvalidInputException:输入模式 hdfs://hdfsPath/logs/2012/07/09/02/ Pattern1匹配 0 个文件

有没有办法告诉 Oozie 忽略这个错误,以便 MapReduce 作业仍然在匹配 Pattern2 的文件上执行,而不是使整个作业失败?


更新:

我自己想出了解决方案,我将记录我所做的事情,以防其他人稍后遇到这个问题。

我创建了一个名为 RegexPathFilter 的类,它实现了 PathFilter 和 Configurable。我通过在 oozie workflow.xml 中指定mapred.input.pathFilter.class属性将此过滤器传递给 hadoop 作业。这是我的课程和我的配置片段:

工作流.xml:

0 投票
5 回答
5938 浏览

hadoop - sqoop 导出通过 oozie 失败

我正在尝试将数据从通过导出到mysql 。我能够通过 shell 运行 sqoop 并且工作正常。但是当我通过. 它出现以下错误并失败。我还包括罐子。没有详细的日志hdfssqoopoozie

sqoop 脚本:

错误:

0 投票
2 回答
5414 浏览

hadoop - 使用 Oozie 工作流和协调器 - E0302:无效参数错误

我正在尝试使用协调器运行工作流,但是当我尝试将工作流和协调器 XML 文件路径设置在一起时,出现错误。这就是我的 jobs.properties 文件的样子:

当我使用命令行运行我的工作流程时:

我收到以下错误:

我究竟做错了什么?

谢谢!

0 投票
2 回答
1126 浏览

hadoop - Hadoop 作业在本地模式下运行。但是 Oozie 作业以分布式模式运行

在我们的集群上,即使是最简单的作业“wordcount”也在本地模式下运行。但是之前有一些作业使用 oozie 运行,我们观察到它们以集群模式运行。本地 hadoop 作业与使用 oozie 运行的 hadoop 作业是否存在冲突?这是错误堆栈跟踪-

引起:java.io.FileNotFoundException:文件_partition.lst 不存在。在 org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:408) 在 org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:251) 在 org.apache.hadoop.fs.FileSystem.getLength (FileSystem.java:825) 在 org.apache.hadoop.io.SequenceFile$Reader.(SequenceFile.java:1480) 在 org.apache.hadoop.io.SequenceFile$Reader.(SequenceFile.java:1475) 在 org. org.apache.hadoop.hbase.mapreduce.hadoopbackport.TotalOrderPartitioner.setConf(TotalOrderPartitioner.java:82) 上的 apache.hadoop.hbase.mapreduce.hadoopbackport.TotalOrderPartitioner.readPartitions(TotalOrderPartitioner.java:296)

我们的工作在没有安装 Oozie 的测试集群上运行良好。因此不确定这两件事是否相关。提前致谢。

我们正在使用 Cloudera 发行版。