我有一个关于使用hadoop处理小文件的问题。我的文件只有大约1000个左右的记录,但我希望记录大致均匀地分布在节点之间。有没有办法做到这一点?我是hadoop的新手,到目前为止,似乎所有的执行都发生在一个节点上,而不是同时发生。如果我的问题有意义或者我需要澄清什么,请告诉我。就像我说的,我对Hadoop很新,但我希望得到一些澄清。感谢。
答案 0 :(得分:1)
使用NLineInputFormat并指定每个映射器要处理的记录数。这样,单个块中的记录将由多个映射器处理。
答案 1 :(得分:0)
另一个选项是将您的一个输入文件拆分为多个输入文件(在一个输入路径目录中)。 然后,每个输入文件都可以分布在hdfs和地图上 操作将在拥有这些输入拆分的工作机上进行。