首页 > 解决方案 > 如何只编译Hadoop的压缩模块?

问题描述

我正在尝试为 Hadoop 开发一种新的编解码器压缩。首先,我想知道是否有在 Hadoop 中实现新编解码器的相同教程。因此,我尝试通过更改最终扩展名来编辑几个默认编解码器,例如 Snappy 或 Deflate,例如,我将 Deflate 的扩展名更改为“.dummy”。但问题在于编译阶段,因为要在 Hadoop 中上传新的编解码器代码。为了正确上传代码,每次我想检查代码中的新编辑时都会进行新的重新编译。

我怎样才能加速这个过程?

我尝试使用以下命令执行编译:

  1. mvn package -Pdist,native一次用于编辑代码,

  2. mvn compile -pl Hadoop-common-project

  3. mvn install -pl Hadoop-common-project

但之前的测试最差结果已经报告。

标签: mavenhadoopcompilationcompressioncodec

解决方案


我通过编译位于 Hadoop-common-project/hadoop-common 中的包解决了这个问题。在上一个文件夹中,有一个 pom.xml 文件。之后,我通过以下方式运行 mvn 编译:

mvn package -Pdist,native -DskipTests

因此,我将位于目标文件夹中的 jar 复制到 $HADOOP_HOME/share/hadoop/common。之前的步骤可以让我们在 Hadoop 中使用我们的编解码器,然后在 mapred-site.xml 文件中指定它。


推荐阅读