在一个Spark Context中打开几个Kafka流是一种好习惯吗?

时间:2016-04-06 06:56:57

标签: apache-spark spark-streaming bigdata

我们有几个应用程序遵循相同的逻辑和模式,并想知道在一个spark上下文中打开多个流是否是一个好习惯。所以提交的主要应用程序会有这样的东西;

part_tooltip

然后,在抽象方法 SparkConf conf = new SparkConf().setMaster("local[*]").setAppName("test-app"); conf.set("log4j.configuration", "\\log4j.properties"); JavaStreamingContext ssc = new JavaStreamingContext(conf, new Duration(20)); // Iterate streams for (RealtimeApplication app : realtimeApplications) { app.execute(ssc); } // Trigger! ssc.start(); // Await stopping of the service... ssc.awaitTermination(); 的实现中,您将拥有以下代码......

execute(JavaStreamingContext ssc)

这在Spark开发中被认为是错误的吗?

1 个答案:

答案 0 :(得分:0)

我宁愿通过RDD分享你的逻辑,比如

JavaDStream<String> lines1 = kafkaStream.map(new Function<Tuple2<String, String>, String>() {...});
JavaDStream<String> lines2 = kafkaStream.map(new Function<Tuple2<String, String>, String>() {...});
JavaDStream<String> lines3 = kafkaStream.map(new Function<Tuple2<String, String>, String>() {...});

使用一个源流