sparkstream 接收处理多数据源

小刀打铁 2014-08-20 11:46:11
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!
...全文
335 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
小刀打铁 2014-08-20
  • 打赏
  • 举报
回复
发现transform操作只处理了其中一个流,另外个流未处理,action操作未执行

1,261

社区成员

发帖
与我相关
我的任务
社区描述
Spark由Scala写成,是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于MapReduce算法实现的分布式计算。
社区管理员
  • Spark
  • shiter
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧