如何使用mapreduce框架处理打开的文件

s4chpxco  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(255)

我有一个文件可以聚合并写入hdfs。此文件将在关闭前打开一小时。是否可以在打开时使用mapreduce框架计算此文件?我试过了,但它没有收集到所有附加的数据。我可以在hdfs中查询数据,但在mapreduce中查询不到。我是否可以强制mapreduce读取打开的文件?或许可以自定义fileinputformat类?

nbysray5

nbysray51#

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

相关问题