首页 文章

为什么MapReduce Job没有完全加载附加文件?

提问于
浏览
0

我有一个将数据流传输到HDFS接收器(附加到同一文件)的水槽,我可以“猫”并从HDFS中看到它 . 但是,MapReduce作业仅获取已刷新的第一批(bacthSize = 100) . 其余的都没有被拿起来,虽然我可以看看剩下的 . 当文件滚动(关闭)后执行MapRecue作业时,它会拾取所有数据 . 你知道为什么MR工作无法找到批次的其余部分,即使它存在 .

1 回答

  • 0

    据我所知,Flume(在我的情况下为1.4)根本没有附加到HDFS文件 . 当HDFS接收器启动时,它将创建一个.kmp文件,该文件为0 kb,直到它被滚动/重命名 . 增量记录尚未在HDFS上,但在通道上的Flume代理中 . 因此,在重命名事件(.tmp到最终文件名)之前,您将无法访问新到达的数据 . (MR FileInputFormat过滤所有以'_filename'或'.filename'开头的文件)

相关问题