我们有几个应用程序遵循相同的逻辑和模式,并想知道在一个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开发中被认为是错误的吗?
答案 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>() {...});
使用一个源流