我的数据集大小为3位数GB甚至1到2位数TB。所以输入文件是一系列的文件,每个文件大约10GB。我的Hadoop中的MapReduce作业处理所有这些文件,然后只生成一个输出文件(其中包含汇总信息)。
我的问题是:
从Apache来调整Hadoop/MapReduce框架,适合的文件大小是多少?我听说更喜欢较大的文件大小而不是小的文件大小。有任何想法吗?我唯一确定的是,Hadoop默认读取64MB的块。因此,如果文件大小是64MB的倍数,则会非常好。
目前,我的应用程序将输出文件写入一个文件中。因此,文件大小当然为3位数的gigabit。我想知道如何有效地对文件进行分区。当然,我可以使用某些Unix工具来完成这项工作。但是,直接在Hadoop中执行此操作是否更可取?
感谢您的意见!
P.S.: 我没有压缩文件。输入文件的文件格式为文本/ CSV。