我有一个 PorterStemmer 类,我想在 Mapper 中使用它。我的驱动程序类也包含Mapper,Reducer。我尝试将PorterStemmer类放在Driver类中,但Hadoop在运行时显示 ClassNotFoundException 。我还尝试将PorterStemmer放入JAR并将其添加到分布式缓存中,但显然我得到了编译器时间错误,因为在Driver类中没有PorterStemmer。无论如何我可以解决这个问题吗?
这是我的Driver类
mailsListBox.Items[1].Visibility = Visible;
答案 0 :(得分:0)
要么使用所有依赖项构建胖jar,要么使用以下过程将jar共享给节点
您需要使用-libjars使您正在使用的jar分发到所有节点。然后,这个新jar将被添加到任务节点的类路径中,并由mapper或reducer
选取hadoop jar yourJar.jar com.JobClass -libjars /path/of/stemmer.jar