gpt4 book ai didi

serialization - oozie 上的 Avro Map-Reduce

转载 作者:可可西里 更新时间:2023-11-01 15:18:41 26 4
gpt4 key购买 nike

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

java.lang.RunTime Exception - class mr.sales.avro.etl.SalesMapper not org.apache.hadoop.mapred.Mapper

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

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

最佳答案

使用 AVRO,您需要配置一些额外的属性:

  • org.apache.avro.mapred.HadoopMapper 是您需要设置的实际映射器类(它实现了 Mapper 接口(interface))
  • avro.mapper 属性应命名您的 SalesMapper

combiner 和 reducer 还有其他属性 - 检查 AvroJob 源代码和实用方法。

另一种方法是检查您手动提交的作业中的 job.xml,并将相关配置属性复制到您的 oozie workflow.xml

关于serialization - oozie 上的 Avro Map-Reduce,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11027131/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com