Dear Friends,

I am struggling with spark twitter streaming. I am not getting any data.
Please correct below code if you found any mistakes.

import org.apache.spark.*;
import org.apache.spark.api.java.
function.*;
import org.apache.spark.streaming.*;
import org.apache.spark.streaming.api.java.*;
import org.apache.spark.streaming.twitter.*;
import twitter4j.GeoLocation;
import twitter4j.Status;
import java.util.Arrays;
import scala.Tuple2;

public class SparkTwitterStreaming {

    public static void main(String[] args) {

    final String consumerKey = "XXXXXXXXXXX";
    final String consumerSecret = "XXXXXXXXXXXXXX";
    final String accessToken = "XXXXXXXXXXXXXXXXXXXXXX";
    final String accessTokenSecret = "XXXXXXXXXXXXXXXXXXXXXXXXXXX";
    SparkConf conf = new
SparkConf().setMaster("local[2]").setAppName("SparkTwitterStreaming");
    JavaStreamingContext jssc = new JavaStreamingContext(conf, new
Duration(60000));
    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[] {"Narendra Modi"};
    JavaReceiverInputDStream<Status> twitterStream =
TwitterUtils.createStream(jssc,filters);

    // Without filter: Output text of all tweets
    JavaDStream<String> statuses = twitterStream.map(
            new Function<Status, String>() {
                public String call(Status status) { return
status.getText(); }
            }
    );
    statuses.print();
    statuses.dstream().saveAsTextFiles("/home/apache/tweets", "txt");

      }

}

Reply via email to