【发布时间】:2012-06-16 09:18:42
【问题描述】:
我有 3 位数 GB 甚至 1 或 2 位数 TB 的数据集。因此,输入文件是一个文件列表,每个文件大小为 10GB。我在 hadoop 中的 map reduce 作业处理了所有这些文件,然后只给出一个输出文件(带有汇总信息)。
我的问题是:
从 Apache 调整 hadoop/mapreduce 框架的合适文件大小是多少?我听说大文件比小文件更受欢迎。有什么想法吗?我唯一确定的是 hadoop 读取块,每个块默认为 64MB。因此,如果文件大小是 64MB 的乘数,那就太好了。
目前,我的应用程序仅将输出文件写入一个文件。文件大小当然是 3 位千兆位。我想知道如何有效地对文件进行分区。当然,我可以只使用一些 unix 工具来完成这项工作。但是否更喜欢直接在 hadoop 中执行此操作?
感谢您的 cmets!
附: 我没有压缩文件。输入文件的文件格式为text/csv。
【问题讨论】:
-
很多问题(请将答案回复到您原来的问题中):您是否在压缩文件,如果是,您使用的是什么压缩类型(gzip、bz2、...)?输入文件的文件格式是什么(文本、二进制?)
-
@Chris:我没有压缩文件。输入文件的文件格式为 text/csv。谢谢!
标签: file hadoop size mapreduce