我有一个map-reduce作业,它的输入是一个大数据集(假设大小为100 of )。这个map-reduce作业所做的是将大数据拆分成块,并写入单独的文件,每个数据块一个文件。此map-reduce作业的输出用作另一个map-reduce作业的输入。由于新输入由多个文件组成,每个文件的大小为64MB,那么第二个map-reduce作业中的每个映射器是只读取一个文件还是可能读取多个文件?
假设我想对此数据运行Map-Reduce,并估计此应用程序所需的RAM。在map-reduce操作期间,将不会对此数据库进行读或写操作。map-reduce将聚合一些记录,并对聚合的记录进行逻辑比较。
我想了解map-reduce如何将数据带入RAM,因此应该如何计算工作集(例如:我是否应该假设1 MM x 5KB将是我的工作集)。
我们有一个运行HDFS的日志收集代理,即该代理(如Flume)不断从一些应用程序收集日志,然后将其写入HDFS。读写过程不间断地运行,导致HDFS的目标文件不断增加。FileInputFormat.addInputPath(job, new Path("hdfs://namenode:9000/data/collect"));
] does not existtim@phocion:~$ hdfs dfs -ls /user/tim/examples/apps/map-reduce
Found 3 items-rwxr-xr-x 1 tim tim 995 2012-10-03 14:47 /user/tim/examples/apps/map-reduce/job.propertiesdrwxrwxr-x - tim tim