我可以这样做:
hadoop fs -text /path/to/result/of/many/reudcers/part* | hadoop fs -put - /path/to/concatenated/file/target.csv
但它会使HDFS文件通过网络流式传输。有没有办法告诉HDFS合并群集本身的几个文件?
答案 0 :(得分:1)
我有类似你的问题。 这是article with number of HDFS files merging options,但所有这些都有一些细节。此列表中没有人符合我的要求。希望这可以帮助你。
所以主要的结果是如果MapReduce的设置速度适合你,没问题。如果你有实时要求,事情就会变得复杂。
我的一个“疯狂”想法是使用HBase协处理器机制(端点)和文件阻止本地信息,因为我在同一个集群上有Hbase。如果“疯狂”这个词并没有阻止你,请看看:http://blogs.apache.org/hbase/entry/coprocessor_introduction