KTurnura / paper-notes

1 stars 0 forks source link

Mapreduce: simplified data processing on large clusters #2

Open KTurnura opened 8 months ago

KTurnura commented 8 months ago

  MapReduce是一个用于大规模数据(大于1TB)处理的分布式计算模型、编程模型,它最初是由Google设计并实现的,在Google提出时,给它的定义是:Map/Reduce是一个编程模型(programming model),是一个用于处理和生成大规模数据集(processing and generating large data sets)的相关的实现。   MapReduce的主要思想“Map(映射)”和“Reduce(规约)”都来自于函数式编程语言。MapReduce极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统之上。用户只需要定义一个map函数来处理一个key/value对以生成一批中间的key/value对,再定义一个reduce函数将所有这些中间的有着相同key的values合并起来。   MapReduce的数据处理模型非常简单:map函数和reduce函数的输入和输出都遵循<key,value>键值对的格式,简单的用符号表示就是:   Map:(K1,V1)——> list(K2,V2)   Reduce:(K2,list< V2>)——> list<K3,V3>