1,261
社区成员
发帖
与我相关
我的任务
分享
public class ExceptionUser {
private static Logger logger = Logger.getLogger(ExceptionUser.class);
private static final String KAFKA_TOPIC = "TopicA";
public static void main(String[] args) throws Exception {
System.setProperty("hadoop.home.dir", "D:\\checkpoint\\hadoop-common-2.2.0-bin-master");
SparkConf conf = new SparkConf().setMaster("local- "
- ).setAppName("WordsCount");
JavaStreamingContext jssc = new JavaStreamingContext(conf, Durations.milliseconds(4000));
Map<String, String> kafkaParams = new HashMap<String, String>();
kafkaParams.put("bootstrap.servers", "127.0.0.1:9092");
kafkaParams.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
kafkaParams.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
kafkaParams.put("group.id", "lingroup");
//kafkaParams.put("auto.offset.reset", "latest");
Set<String> topics = new HashSet<String>();
topics.add(KAFKA_TOPIC);
JavaPairInputDStream<String, String> stream = org.apache.spark.streaming.kafka.KafkaUtils.
createDirectStream(jssc, String.class, String.class, StringDecoder.class, StringDecoder.class, kafkaParams, topics);
JavaPairDStream<String, Integer> transDStream = stream.flatMap(new FlatMapFunction<Tuple2<String,String>, String>() {
public Iterator<String> call(Tuple2<String, String> t) throws Exception {
return Arrays.asList(t._2.split(" ")).iterator();
}
}).mapToPair(new PairFunction<String, String, Integer>() {
public Tuple2<String, Integer> call(String t) throws Exception {
return new Tuple2<String, Integer>(t, 1);
}
}).reduceByKey(new Function2<Integer, Integer, Integer>() {
public Integer call(Integer v1, Integer v2) throws Exception {
// 这一行代码不执行
Print.print(v1);
// 这一行也不执行
System.out.println("#######" + v1);
return v1 + v2;
}
});
transDStream.print();
jssc.checkpoint("file:///D:/checkpoint/");
jssc.start();
jssc.awaitTermination();
}
}
public class Print {
public static void print(Integer i){
System.out.println("--------------------------------");
System.out.println(i);
System.out.println("--------------------------------");
}
}