MapReduce 输入/输出为每个键值对发出

标签 mapreduce

MapReduce 用于传递和发出键值对的基本信息。 我需要稍微弄清楚我们传递了什么以及发出什么。 这是我的担忧: MapReduce 输入和输出:

1.Map() 方法 - 它是否接受单个或键值对列表并发出什么? 2.对于每个输入键值对,映射器发出什么?相同类型还是不同类型? 3.对于每个中间键,reducer会发出什么?有类型限制吗? 4.Reducer接收与相同键关联的所有值。这些值将如何排序(如排序或轨道排序)?该顺序是否因运行而异? 5.在shuffle和sort阶段,键和值以什么顺序呈现?

最佳答案

  • 对于每个输入 k1, v1 映射会发出零个或多个 k2, v2。
  • 对于每个 k2 reducer 接收 k2,列表(v1,v3,v4..)。
  • 对于每个输入 k2,list(v) reducer 可以发出零个或多个 k3、v3。

第 2 步中的值是任意排序的。 键,值 - 映射器和化简器的输出应该是相同的类型,即所有键必须是相同类型,所有值必须是相同类型。

关于MapReduce 输入/输出为每个键值对发出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12311350/

相关文章:

hadoop - Apache Spark:挂起广播

testing - 如何测试Hadoop mapreduce

python - Hadoop:如何在 Python MapReduce 中包含第三方库

Hadoop:减少端连接卡在 map 上 100% 减少 100% 并且永远不会完成

javascript - 对象字段上的 MongoDB Map Reduce

java - 为什么我无法在 Hadoop 中获取 FileName 并以格式(Word 文件名计数)显示它?

python - CouchDB - 从列表中过滤每个记录实例的最新日志

hadoop - jobconf.limit设置为5MB时,如何在作业跟踪器中有66MB的作业配置?

Hadoop API 对比。 Hadoop 流媒体

c# - 多 map /减少在 RavenDb 中工作吗?