【问题标题】:Why appending files are not fully loaded by MapReduce Job?为什么 MapReduce 作业没有完全加载附加文件?
【发布时间】:2015-01-13 19:05:10
【问题描述】:

我有一个水槽,它将数据流式传输到 HDFS 接收器(附加到同一文件),我可以“cat”并从 HDFS 中查看它。但是,MapReduce 作业只拾取第一批被刷新的 (bacthSize = 100)。其余的没有被捡起,尽管我可以看到其余的。当我在文件滚动(关闭)后执行 MapRecue 作业时,它正在获取所有数据。你知道为什么 MR 作业即使存在批次也找不到剩余的批次。

【问题讨论】:

    标签: hadoop mapreduce flume flume-ng


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-29
      • 2014-12-27
      • 2022-11-10
      • 1970-01-01
      • 2020-05-26
      • 2013-06-16
      • 2018-08-15
      • 2013-02-28
      相关资源
      最近更新 更多