【问题标题】:How to process an open file using MapReduce framework如何使用 MapReduce 框架处理打开的文件
【发布时间】:2015-01-26 15:49:55
【问题描述】:

我有一个文件被聚合并写入 HDFS。此文件将在关闭前打开一小时。是否可以在打开时使用 MapReduce 框架计算此文件?我试过了,但它没有拾取所有附加的数据。我可以查询 HDFS 中的数据并且它可用,但在 MapReduce 完成时不能。无论如何我可以强制 MapReduce 读取打开的文件吗?也许自定义 FileInputFormat 类?

【问题讨论】:

    标签: hadoop mapreduce hdfs


    【解决方案1】:

    您可以读取物理冲洗的内容。由于 close() 会最终刷新数据,因此无论您如何访问它(mapreduce 或命令行),您的读取都可能会丢失一些最新数据。 作为一种解决方案,我建议定期关闭当前文件,然后打开一个新文件(带有一些递增的索引后缀)。您可以在多个文件上运行 map reduce。您仍然会在最近的文件中丢失一些数据,但至少您可以通过文件“轮换”的频率来控制它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-27
      • 2016-04-19
      • 1970-01-01
      • 2012-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多