600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > python与云计算的关系_python map reduce与云计算map/reduce之间的关系?

python与云计算的关系_python map reduce与云计算map/reduce之间的关系?

时间:2020-04-12 22:03:06

相关推荐

python与云计算的关系_python map reduce与云计算map/reduce之间的关系?

map/reduce的云概念非常相似,但改为并行工作。首先,每个数据对象通过一个函数传递给一个新对象(通常是某种字典)。然后,对map返回的对象对调用reduce函数,直到只剩下一个。这是map/reduce操作的结果。在

一个重要的考虑因素是,由于并行化,reduce函数必须能够接收来自map函数的对象以及来自之前的reduce函数的对象。当您考虑并行化如何进行时,这会更有意义。许多机器将各自的数据缩减为单个对象,然后这些对象将被缩减为最终输出。当然,如果有大量的数据,这可能会发生在多个层中。在

在下面的一个简单的框架中,您可以使用下面的示例来减少单词的数量:list = ['a', 'foo', 'bar', 'foobar', 'foo', 'a', 'bar', 'bar', 'bar', 'bar', 'foo']

list2 = ['b', 'foo', 'foo', 'b', 'a', 'bar']

映射函数如下所示:

^{pr2}$

reduce函数如下所示:def countReduce(d1, d2):

out = d1.copy()

for key in d2:

if key in out:

out[key] += d2[key]

else:

out[key] = d2[key]

return out

然后您可以这样映射/减少:reduce(countReduce, map(wordToDict, list + list2))

>>> {'a': 3, 'foobar': 1, 'b': 2, 'bar': 6, 'foo': 5}

但您也可以这样做(并行化就是这样做的):reduce(countReduce, [reduce(countReduce, map(wordToDict, list)), reduce(countReduce, map(wordToDict, list2))])

>>> {'a': 3, 'foobar': 1, 'b': 2, 'foo': 5, 'bar': 6}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。