gpt4 book ai didi

hadoop - 具有两个jar的Hadoop Mapreduce(仅在namenode上需要一个jar)

转载 作者:行者123 更新时间:2023-12-02 21:58:15 26 4
gpt4 key购买 nike

mapred任务是由Java实现的非常简单的'wordcount'(plz,请参见http://wiki.apache.org/hadoop/WordCount)。

最后一行之后,“job.waitForCompletion(true);”
我添加了一些由Jython实现的代码。

这意味着仅在namenode上需要Jythoon的库。
但是,我将Jython的所有库添加到一个jar中,然后
执行它

hadoop jar wordcount.jar in out

单词计数完成没有任何问题。

我要解决的问题是我必须为Jython创建繁重的库,而对于从属节点(映射器和化简器)而言则不需要。广口瓶将近1500万(Jython高于1400万)。

我可以拆分它们,并获得相同的结果吗?

最佳答案

没有人知道这个问题。

我已经解决了以下问题:即使它不是最好的。

只需将jython.jar复制到hadoop的默认类路径/ usr / local / hadoop(或hadoop的安装路径),然后创建一个不带jython.jar的jar

如果您需要很大的库来映射任务,那么

  • 将jython.jar上传到HDFS

    hadoop fs -put jython.jar库/ jython.jar
  • 将以下行添加到您的主代码中

    DistributedCache.addFileToClassPath(new URI(“Lib / jython.jar”));;
  • 关于hadoop - 具有两个jar的Hadoop Mapreduce(仅在namenode上需要一个jar),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5841567/

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