nir*_*ack 0 java apache twitter hadoop hbase
几个小时后,这是一个非常疯狂的问题.
任何帮助将受到高度赞赏.
我无法做到
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);
}
}
Run Code Online (Sandbox Code Playgroud)
我想将String对象'tweetReverse'转换为Writable,以便我可以使用context.write函数.
这甚至可能吗?
如果不转换我该怎么办?
如果我将泛型类型更改为String,那么我也会在类中将问题扩展到读写值.
任何帮助将受到高度赞赏.
非常感谢提前.
我觉得你需要的只是
context.write(tweetId, new Text(tweetReverse));
Run Code Online (Sandbox Code Playgroud)
也就是说,您只需创建一个新的Text对象(实现Writable)并在构造函数中传递一个String.
| 归档时间: |
|
| 查看次数: |
5358 次 |
| 最近记录: |