如何只编译Hadoop的压缩模块?

How to compile only the compression module of 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

但之前的测试结果最差。

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

mvn package -Pdist,native -DskipTests

因此,我将位于 target 文件夹中的 jar 复制到 $HADOOP_HOME/share/hadoop/common。在 mapred-site.xml 文件中指定后,前面的步骤使我们能够在 Hadoop 中使用我们的编解码器。