嗨,我是这个hadoop map的新手 - 当我尝试使用以下命令运行map-reduce代码时减少
vishal @ XXXX bin / hadoop jar / user / vishal / WordCount com.WordCount.java / user / vishal / file01 / user / vishal / output。
显示以下输出---
线程“main”中的异常java.io.IOException:打开作业jar时出错:/user/vishal/WordCount.jar
在org.apache.hadoop.util.RunJar.main(RunJar.java:130)
引起:java.util.zip.ZipException:打开zip文件时出错
at java.util.zip.ZipFile.open(Native Method)
在java.util.zip.ZipFile。(ZipFile.java:131)
在java.util.jar.JarFile。(JarFile.java:150)
在java.util.jar.JarFile。(JarFile.java:87)
在org.apache.hadoop.util.RunJar.main(RunJar.java:128)
答案 0 :(得分:0)
您的命令是要求Hadoop运行JAR,而是指定目录。
您还在类名中添加了“.java”,这不是必需的。 (假设您已正确编写了包名com.WordCount
)。
首先在/user/vishal/WordCount.jar
中构建jar(确保这是一个本地目录,而不是HDFS)然后在类名末尾运行没有'.java'的命令。另外,你在问题的命令末尾放了一个点,我希望在真正的命令中不存在。
bin/hadoop jar /user/vishal/WordCount.jar com.WordCount /user/vishal/file01 /user/vishal/output
有关详情,请参阅Hadoop tutorial's 'Usage' section。