如何使用Spark Streaming Java API将twitter推文写入文件

如何使用Spark Streaming Java API将twitter推文写入文件,twitter,apache-spark,streaming,Twitter,Apache Spark,Streaming,我有以下代码段,我正试图从say“stefanjdecker”的时间线上收集一些推文。我的真实身份已经被更改为匿名 SparkConf conf = new SparkConf().setMaster("local").setAppName("SparkTwitterHelloWorldExample"); JavaStreamingContext jssc = new JavaStreamingContext(conf, new Duration(600)); String consumerK

我有以下代码段,我正试图从say“stefanjdecker”的时间线上收集一些推文。我的真实身份已经被更改为匿名

SparkConf conf = new SparkConf().setMaster("local").setAppName("SparkTwitterHelloWorldExample");
JavaStreamingContext jssc = new JavaStreamingContext(conf, new Duration(600));
String consumerKey = "key";
String accessTokenSecret = "secret";
String consumerSecret = "consumer";
String accessToken = "token";

System.setProperty("twitter4j.oauth.consumerKey", consumerKey);     
System.setProperty("twitter4j.oauth.consumerSecret", consumerSecret);       
System.setProperty("twitter4j.oauth.accessToken", accessToken); 
System.setProperty("twitter4j.oauth.accessTokenSecret", accessTokenSecret);
String[] filters = new String[] {"stefanjdecker"};
JavaReceiverInputDStream<Status> twitterStream = TwitterUtils.createStream(jssc,filters);
twitterStream.dstream().saveAsTextFiles("/Output/twitter","txt");
SparkConf conf=new SparkConf().setMaster(“local”).setAppName(“SparkTwitterHelloWorldExample”);
JavaStreamingContext jssc=新的JavaStreamingContext(conf,新的持续时间(600));
字符串consumerKey=“key”;
字符串accessTokenSecret=“secret”;
字符串consumerSecret=“consumer”;
字符串accessToken=“token”;
set属性(“twitter4j.oauth.consumerKey”,consumerKey);
System.setProperty(“twitter4j.oauth.consumerSecret”,consumerSecret);
setProperty(“twitter4j.oauth.accessToken”,accessToken);
set属性(“twitter4j.oauth.accessTokenSecret”,accessTokenSecret);
字符串[]过滤器=新字符串[]{“stefanjdecker”};
JavaReceiverInputDStream twitterStream=TwitterUtils.createStream(jssc,过滤器);
twitterStream.dstream().saveAsTextFiles(“/Output/twitter”,“txt”);

以上代码成功运行。然而,推文并没有被写入我提到的路径。请有人帮我解决这个问题

在setMaster方法中尝试local[*]或local[n],其中n>=2。也可以在arg0.foreach{Files.write(path.get(“/Output/twitter.txt”)、arg0._2().getBytes())}中尝试
twitterStream.foreachRDD{内部arg0.foreach{Files.write(Paths.get(“/Output/twitter.txt”),arg0.\u 2().getBytes())}
我已经更改了行JavaReceiverInputDStream twitterStream=twitte;到JavadStreamTweets=TwitterUtils.createStream(jssc、NA、过滤器);现在它工作了,授权NA=null;在setMaster方法中尝试local[*]或local[n],其中n>=2。也可以在arg0.foreach{Files.write(path.get(“/Output/twitter.txt”)、arg0._2().getBytes())}中尝试
twitterStream.foreachRDD{内部arg0.foreach{Files.write(Paths.get(“/Output/twitter.txt”),arg0.\u 2().getBytes())}
我已经更改了行JavaReceiverInputDStream twitterStream=twitte;到JavadStreamTweets=TwitterUtils.createStream(jssc、NA、过滤器);现在它工作了,授权NA=null;