我可以修改驻留在hdfs上的文件吗?创建包含修改内容的临时文件并删除原始文件的唯一方法是否相同?
我可以使用map-reduce修改文件吗?可以并行修改不同的文件块并以某种方式组合成一个文件吗?
一旦
文件处于 HDFS 中,您就无法对其进行修改,除非追加到该文件。请参阅此答案,确认追加是可能的:
将数据附加到 HDFS Java 中的现有文件
Map Reduce允许您并行操作文件,每个映射器读取文件的一个块,并且同时运行多个映射器。这就是它的设计方式。
任何给定的映射器都可以过滤行并轻松地将所有行(部分或全部)写出到新文件中。
如果使用map-reduce写出修改后的文件,默认情况下它将显示为文件目录,可以根据您的要求合并为单个文件。