鉴于我需要使用10个实例处理20 Gb的输入。 2Gb的10个输入文件与5Gb的4个输入文件相比有所不同吗? 在后一种情况下,Amazon Elastic MapReduce可以自动在10个实例中分配4个输入文件的负载吗? (我正在使用Streaming方法,因为我的mapper使用ruby编写)
答案 0 :(得分:3)
唯一重要的是文件是否可拆分。
如果文件是未压缩的纯文本或使用lzo压缩,那么Hadoop将对拆分进行排序。
x5 2gb文件将导致~100次分割,因此~100次映射任务(10gb / 128mb(EMR blocksize)〜= 100)
x10 1gb文件将再次导致~100次拆分,因此再次导致100次地图任务。
如果文件是压缩的gzip或bzip2,那么Hadoop(至少在EMR上运行的版本)将不会拆分文件。
x5 2gb文件只会导致5次拆分(因此只有5次映射任务)
x10个1gb文件只会产生10个分割(因此只有10个地图任务)
垫