Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 通过Java中的spark流向twitter流添加地理位置过滤器_Apache Spark_Spark Streaming - Fatal编程技术网

Apache spark 通过Java中的spark流向twitter流添加地理位置过滤器

Apache spark 通过Java中的spark流向twitter流添加地理位置过滤器,apache-spark,spark-streaming,Apache Spark,Spark Streaming,我只想要与特定地理位置相关的推文。在谷歌搜索之后,我发现这可以通过向TwitterUtils和TwitterInputDStream类添加额外的方法/功能来实现。但我不能这样做,因为这是最后一节课 请帮助我,我们如何才能做到这一点 提前感谢。这是我在创建流时能找到的最好答案。然而,通过这个过滤器,我们在接收到推文后过滤推文。我认为有一种方法可以在接收它们之前通过向twitterapi提供过滤器进行过滤。此代码已验证有效,并来自: JavaDStream tweetsWithLocation=t

我只想要与特定地理位置相关的推文。在谷歌搜索之后,我发现这可以通过向TwitterUtils和TwitterInputDStream类添加额外的方法/功能来实现。但我不能这样做,因为这是最后一节课

请帮助我,我们如何才能做到这一点


提前感谢。

这是我在创建流时能找到的最好答案。然而,通过这个过滤器,我们在接收到推文后过滤推文。我认为有一种方法可以在接收它们之前通过向twitterapi提供过滤器进行过滤。此代码已验证有效,并来自:

JavaDStream tweetsWithLocation=twitterStream.filter(
新函数(){
公共布尔调用(状态){
if(status.getGeoLocation()!=null){
返回true;
}否则{
返回false;
}
}
}
);
JavaDStream status=tweetsWithLocation.map(
新函数(){
公共字符串调用(状态){
返回status.getGeoLocation().toString()+“:“+status.getText();
}
}
);

编写您自己的GeoTwitterDStream?请描述您的问题,您想用scala、java还是python?你有没有想要过滤掉的位置列表,或者只有一个位置需要过滤掉。我在回答最初的问题。我还想说,我认为有一种方法可以告诉推特,你只想要带有地理信息的推特,而不是在收到后进行过滤。我假设最初的提问者希望用Java来做这件事,我也是。你有答案吗?
    JavaDStream<Status> tweetsWithLocation = twitterStream.filter(
            new Function<Status, Boolean>() {
                public Boolean call(Status status){
                    if (status.getGeoLocation() != null) {
                        return true;
                    } else {
                        return false;
                    }
                }
            }
    );

    JavaDStream<String> statuses = tweetsWithLocation.map(
            new Function<Status, String>() {
                public String call(Status status) {
                    return status.getGeoLocation().toString() + ": " + status.getText();
                }
            }
    );