假设一个带有 m 个映射器的 map-reduce 作业,它由输入文件 F 提供。显然,mapreduce 框架将 F 分成块(默认值为 64 MB)并将每个块提供给一个映射器。我的问题是,如果我多次运行这个 mapreduce 作业,所有这些块的形成方式是否相同?也就是说,mapreduce 框架拆分 F 的点保持不变还是可能不同?
例如,假设 F 包含以下行:
1,2
3,5
5,6
7,6
5,5
7,7
在第一次运行中,mapreduce 形成两个块,如下所示:
块 1:
1,2
3,5
5,6
块 2:
7,6
5,5
7,7
我的问题是,如果我再次运行,拆分的方式是否保持不变?
此外,每个块是否有一个可以在映射器中使用的唯一名称?