java如何在Hadoop映射器中将字符串转换为可写对象
这是一个非常疯狂的问题,几个小时以来一直困扰着我
任何帮助都将不胜感激
我不能
public void map(Object key, Text value, Context context) throws IOException, InterruptedException {
if (!value.toString().equals("")) {
Gson gson = new Gson();
Boolean flag = true;
System.out.println("000000000");
while(flag){
Text tweetId = new Text();
Tweet tweet = gson.fromJson(value.toString(), Tweet.class);
tweetId.set(tweet.getRetweetStatus().getUser().getId().toString());
System.out.println("Tweet objects:" + tweet.toString());
System.out.println("ParentUserId:" + tweetId);
context.write(tweetId, tweet);
flag = false;
}
Text tweetId = new Text();
Tweet tweet = gson.fromJson(value.toString(), Tweet.class);
tweetId.set(tweet.getUser().getId().toString());
String tweetReverse = (Object) tweet.getRetweetStatus().getUser().getId();
System.out.println("Reverse::");
System.out.println("Tweet objects:" + tweetReverse);
System.out.println("ParentUserId:" + tweetId);
context.write(tweetId, tweetReverse);
}
}
我想将字符串对象“tweetReverse”转换为可写,以便在上下文中使用它。写函数
这可能吗
如果不皈依我该怎么办
如果我将泛型类型更改为String,那么在将可写扩展为读写值的类中也会出现问题
任何帮助都将不胜感激
非常感谢
# 1 楼答案
我觉得你需要的只是
也就是说,您只需创建一个新的文本对象(实现可写)并在构造函数中传递一个字符串