Hadoop:java.lang.ClassNotFoundException:org.json.simple.parser.ParseException

时间:2016-05-04 16:40:50

标签: java json hadoop

三年前问了同样的问题。但似乎答案并非解决我的问题。根据答案,我在ubuntu中添加了“json-simple-1.1.1”,在lib“/usr/java/jdk1.6.0_26/lib”中。但我的hadoop MR工作失败了。我正在使用hadoop 0.20.2-cdh3u5。我做错了什么?任何帮助将不胜感激。 我在java中的mapper方法。

enter image description here 输出失败。 enter image description here lib。 enter image description here

我的输入.text是一个班轮。 {“name”:“aaa”,“title:”bbb“}。我试过.json也没用!

我将jar文件从eclipse导出到ubuntu hadoop并运行“hadoop jar JSONReadFromFileCheck.jar JSONReadFromFileCheck / inputpath / outputpath”。

我还将json-simple-1.1.1.jar放在hadoop中,如下所示。请参阅。

enter image description here

jfyi,我在java中运行了一个示例代码,如下所示,它没有问题。

import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;

public class jsoncheck {public static void main(String[] args) throws ParseException {
    String s = "{\"name\":\"aaa\",\"title\":\"bbb\"}";
        JSONObject json = (JSONObject) new JSONParser().parse(s);
        String vout = (String) json.get("title");System.out.println(vout);}}

我看到String不接受String内的双引号,而jsonparser不允许删除双引号:-)。我想知道映射器何时以文本形式输入,以它接收的格式!

0 个答案:

没有答案