三年前也有人问过同样的问题。但答案似乎并不能解决我的问题。根据答案,我在ubuntu的lib“/usr/java/jdk1.6.0\u26/lib”中添加了“json-simple-1.1.1”。但我的hadoop mr工作失败了。我使用的是hadoop0.20.2-cdh3u5。我做错了什么?任何帮助都将不胜感激。我的javaMap器方法。
失败的输出。
图书馆。
我的输入。文本是一行。{“name“:”aaa“,”title:“bbb”}。我试过了。json也没用!
我将jar文件从eclipse导出到ubuntuhadoop并运行“hadoopjarjsonreadfromfilecheck.jarjsonreadfromfilecheck/inputpath/outputpath”。
我还将json-simple-1.1.1.jar放在hadoop中,如下所示。请看。
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);}}
我看到字符串不接受字符串中的双引号,并且jsonparser不允许删除双引号:-)。我想知道什么时候mapper以文本的形式输入,它以什么格式接收!
暂无答案!
目前还没有任何答案,快来回答吧!