sparkstream 接收处理多数据源

小刀打铁 小刀打铁 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
spark新手,如何在driver 中接收多个stream,比如spark example中JavaNetworkWordCount例子

SparkConf sparkConf = new SparkConf().setAppName("JavaNetworkWordCount");
JavaStreamingContext ssc = new JavaStreamingContext(sparkConf, new Duration(10000));
JavaReceiverInputDStream<String> lines = ssc.socketTextStream(
host, ip, StorageLevels.MEMORY_ONLY);

这个只接收了一个数据源的流,在官网上有查到可以支持多源接收,但是没有给出例子,本以为可以按如下实现

SparkConf sparkConf = new SparkConf().setAppName("JavaNetworkWordCount");
JavaStreamingContext ssc = new JavaStreamingContext(sparkConf, new Duration(10000));
JavaReceiverInputDStream<String> lines = ssc.socketTextStream(
host1, ip1, StorageLevels.MEMORY_ONLY);
JavaReceiverInputDStream<String> lines2 = ssc.socketTextStream(
host2, ip2, StorageLevels.MEMORY_ONLY);

JavaDStream<String> words = lines.union(lines1);//利用union来合并

但发现这种方式不行,union后的transform操作都不再执行。
另外发现csdn上spark模块问题好少,有没有其他论坛可以交流,stackoverflow需要翻墙才能体问,dt!
...全文
评论 1
收藏 已收藏
分享
返回顶部
小刀打铁
Spark 1,274 成员 1,171 内容