分享

sparkStreaming中的textFileStrem()读取数据问题

星语心愿 发表于 2018-1-29 19:50:19 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 2 4750
sparkStreaming中的textFileStrem()监控一个目录,需要使用inputStream数据流(如java的BufferWriter、liux下的mv命令等)向监控的目录下新建文本并写入数据,以实现数据流的读取。由于数据写入较快,数据流的读取也很快,我想观察当数据慢速写入,数据慢速读取的效果。代码如下:
[mw_shl_code=java,true]while((str=br.readLine())!=null) {
                                        bw.write(str);
                                        bw.write("\n");
                                        bw.flush();
                                        Thread.sleep(1000);
                                }[/mw_shl_code]

没有Thread.sleep(1000)这段代码时正常运行,就是速度太快;
当添加了Thread.sleep(1000)代码时,数据可以写出,可是sparkStreaming不读取数据了,这是怎么回事呢?怎么解决这种情况呢或是有其他方案?

已有(2)人评论

跳转到指定楼层
sstutu 发表于 2018-1-29 20:39:48
这只是部分代码吧。 spark streaming本身在读取的时候就是分块的,而且可以设置时间间隔。
val ssc = new StreamingContext(sparkConf, Seconds(1))
可以在读取的时间间隔设置变大。

回复

使用道具 举报

nextuser 发表于 2018-1-29 20:43:53
加这个没有错的,至于停止,应该跟你的其它代码有关系。
是否有下面代码
//通过程序停止StreamingContext的运行
    ssc.stop()

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条