public static void main(String[] args) {
    if (args.length != 3) {
      System.err.println("Usage: JavaFlumeEventCount <master> <host> <port>");
      System.exit(1);
    }

    String master = args[0];
    String host = args[1];
    int port = Integer.parseInt(args[2]);

    Duration batchInterval = new Duration(2000);

    JavaStreamingContext ssc =
        new JavaStreamingContext(
            master,
            "FlumeEventCount",
            batchInterval,
            System.getenv("SPARK_HOME"),
            JavaStreamingContext.jarOfClass(JavaFlumeEventCount.class));
    JavaDStream<SparkFlumeEvent> flumeStream = FlumeUtils.createStream(ssc, "localhost", port);

    flumeStream.count();

    flumeStream
        .count()
        .map(
            new Function<Long, String>() {
              @Override
              public String call(Long in) {
                return "Received " + in + " flume events.";
              }
            })
        .print();

    ssc.start();
  }