gpt4 book ai didi

hadoop - CDH 5 中的 AvroRecord 类发生了什么变化?

转载 作者:可可西里 更新时间:2023-11-01 16:58:14 26 4
gpt4 key购买 nike

我正尝试在我的 pom.xml 中使用 CDH 5(Cloudera Hadoop 发行版)存储库,如 Cloudera documentation 中所述.但是 Maven 提示找不到 AvroRecord

这是我的 pom.xml 中的存储库设置:

<repositories>
<repository>
<id>cloudera</id>
<url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
</repository>
</repositories>

下面是我如何在我的 pom.xml 中声明对 Hadoop 的依赖(排除部分与消除错误“javax.servlet.FilterRegistration 的签名者信息与同一包中其他类的签名者信息不匹配”有关"):

   <dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.5.0-cdh5.2.1</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>javax.servlet</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>

当我检查 Hadoop 的文档时,AvroRecord 似乎存在:

http://hadoop.apache.org/docs/r2.5.0/hadoop-project-dist/hadoop-common/api/org/apache/hadoop/io/serializer/avro/AvroRecord.html

但是当我查看cloudera的源代码中的分支cdh5-2.5.0_5.2.1时,它似乎不存在:

https://github.com/cloudera/hadoop-common/tree/cdh5-2.5.0_5.2.1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/serializer/avro

换句话说,以下内容似乎对 Cloudera 版本有问题,但在我使用 Hadoop 存储库时似乎有效:

import org.apache.hadoop.io.serializer.avro.AvroRecord;

如何在使用 Cloudera Hadoop 时获取 AvroRecord 类?

最佳答案

我花了一分钟才弄明白。它在上游也“不存在”: https://github.com/apache/hadoop/tree/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/serializer/avro

但这是因为它是一个生成类。定义在这里: https://github.com/apache/hadoop/blob/trunk/hadoop-common-project/hadoop-common/src/test/avro/avroRecord.avsc https://github.com/cloudera/hadoop-common/blob/cdh5-2.5.0_5.2.1/hadoop-common-project/hadoop-common/src/test/avro/avroRecord.avsc

您找不到它大概是因为它也是一个测试类,未包含在任何发行版中。我有点困惑的是它是如何进入主项目 javadoc 的。

关于hadoop - CDH 5 中的 AvroRecord 类发生了什么变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27402604/

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