用hadoop处理非常小的文件
问题描述:
我有一个关于使用hadoop处理小文件的问题。我的文件只有大约1000条左右的记录,但我希望记录大致均匀地分布在节点之间。有没有办法做到这一点?我是hadoop的新手,到目前为止,似乎所有的执行都在一个节点上发生,而不是同时发生。让我知道我的问题是否合理,或者是否需要澄清任何事情。就像我说的,我对Hadoop非常陌生,但希望得到一些澄清。谢谢。用hadoop处理非常小的文件
答
另一种选择是将您的一个输入文件分成多个输入文件(在一个输入路径目录中)。 然后,这些输入文件中的每一个都可以分布在hdfs中,并且在拥有这些输入拆分的工作机器上执行映射操作。
感谢Praveen,那么将使用NLineInputFormat覆盖为mapred.max.split.size和dfs.block.size设置的值吗? – user399540 2013-02-12 13:55:50
我不认为它考虑到mapred.max.split.size和dfs.block.size。请检查[NLineInputFormat.java](http://goo.gl/mAFbK)代码以获取更多详细信息。 – 2013-02-12 14:03:15