如何从kafka中的消息中识别主题名称.
String[] topics = { "test", "test1", "test2" };
for (String t : topics) {
topicMap.put(t, new Integer(3));
}
SparkConf conf = new SparkConf().setAppName("KafkaReceiver")
.set("spark.streaming.receiver.writeAheadLog.enable", "false")
.setMaster("local[4]")
.set("spark.cassandra.connection.host", "localhost");
;
final JavaSparkContext sc = new JavaSparkContext(conf);
JavaStreamingContext jssc = new JavaStreamingContext(sc, new Duration(
1000));
/* Receive Kafka streaming inputs */
JavaPairReceiverInputDStream messages = KafkaUtils
.createStream(jssc, "localhost:2181", "test-group",
topicMap);
JavaDStream data =
messages.map(new Function, MessageAndMetadata>()
{
public MessageAndMetadata call(Tuple2 message)
{
System.out.println("message ="+message._2);
return null;
}
}
);
我可以从kafka制作人那里获取消息.但由于消费者现在正在消费三个主题,因此需要确定主题名称.