错误:找到接口org.apache.hadoop.mapreduce.counter,但应为类

jm81lzqq  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(280)

我试着通过hadoop2.7.2运行坐标下降Tensor因子分解(cdtf)
cdtf src代码可以获得以下页面:http://www.cs.cmu.edu/~kijungs/codes/cdtf/
当我运行cdtfmr(mapreduce)版本算法时,我在步骤中得到了错误 Start Bias-CDTF 我真的不知道为什么会出错。
有解决这个错误的好办法吗?

t9eec4r0

t9eec4r01#

您对依赖项的版本有问题,依赖项是 org.apache.hadoop.mapreduce.Counter 成为一个 class 很可能是针对旧版本的apachehadoop编译的,例如。
版本2.4.1定义了接口https://hadoop.apache.org/docs/r2.4.1/api/org/apache/hadoop/mapreduce/counter.html
版本1.2.1定义了类https://hadoop.apache.org/docs/r1.2.1/api/org/apache/hadoop/mapreduce/counter.html
您应该更新所需的库的版本 Counter 成为一个 class (很可能有一个更新的版本已经支持版本hadoop 2.并且可以与 interface ),或者如果这不可能-降级依赖项并使用apache hadoop库的版本1.

相关问题