我正在尝试创建一个Scala + Spark应用程序,该应用程序专门侦听我在过滤器数组中定义的特定用户的推文。目前,编辑filters数组只会更改它正在接收的推文的文本。我想这样做,除了用户。
我最初使用
val statuses = TwitterUtils.createStream(ssc, None, filter)
然而,为了获得我的流,在另一篇文章中,它使用TwitterInputDStream推荐。我刚刚实现了这一点,但我不知道如何根据用户进行过滤。
任何帮助都非常感谢,因为这是我已经挣扎了很长一段时间的事情。
到目前为止我的代码:
val config = new twitter4j.conf.ConfigurationBuilder()
.setOAuthConsumerKey("2pzru6Cd8aRumYHUumoCiKwYS")
.setOAuthConsumerSecret("rKKQfISDzk715OOKS7wvGkSKdkqGsLFOdTrZ9QdJOfAjMXekNB")
.setOAuthAccessToken("962554652-SU0aBc8Iyukka1gFJQY9Ux5XczDXSgczRpuih3ml")
.setOAuthAccessTokenSecret("k0DWDIGeJ6u2ijYJeIv6dfCuCmTPIZT8xPJ5AG4P9PV72")
.build
val twitter_auth = new TwitterFactory(config)
val a = new OAuthAuthorization(config)
val atwitter = twitter_auth.getInstance(a).getAuthorization()
//val auth = new Option[Authorization] {}
val auth = Option(atwitter)
val sparkConf = new SparkConf().setAppName("Main2")
.setMaster("local[4]")
val ssc = new StreamingContext(sparkConf, Seconds(2))
val test = new StorageLevel()
val twitter = new TwitterInputDStream(ssc, auth, filters, test )
val rec = twitter.getReceiver()
twitter.print()
谢谢!