我在我的自定义Twitter接收器中创建一个线程来更改关注用户:
first = true ;
if (first) {
new Thread() {
public void run() {
while (true)
try {
System.out.println("begin ---------------");
sleep(60 * 1000);
// get scores from mongodb
ArrayList<Long> r = getScores("Twitter", "polScore","CUCB");
if (r.size() != 0){
FilterQuery query = new FilterQuery();
query.follow(arrayListToArray(r));
// follow new users
newTwitterStream.filter(query);
System.out.println("Changed !!!!!!!!");
}
} catch (InterruptedException e) {
} catch (Exception e) {
System.out.println("Exception : "
+ e.getMessage());
}
}
}.start();
first = false;
}
在TwitterStreamingFactory
我{1}}每1分钟存储rdd
得分,接收方的线程等待60秒,以便从mongodb
获得分数。
问题是有时线程在我的火花流上下文存储它们在mongoDB
之前得分,有没有办法处理像等待和通知???
在主要我有这个:
mongodb
我创建了一个Twitter接收器的实例,用户可以在开始时关注它,我在火花流中使用它,我要做的是改变用户跟随火花流而不停止火花流。
谢谢,