49、大数据:实现规模化与伦理考量

大数据:实现规模化与伦理考量

1. MapReduce编程基础

在大数据处理中,MapReduce是一种强大的编程模型,它在处理大规模数据时表现出色。原则上,它适用于单词计数,因为即使是庞大的文本语料库,最终也能简化为包含不同词汇及其频率计数的相对较小的文件,这些计数可以轻松相加得出总数。

MapReduce编程的关键在于设置分布式哈希表的桶,相同键的所有项会被映射到同一个桶中。以下是几个常见的应用场景:
- 单词计数 :要统计特定单词w在一组文件中的总频率,需要将所有文件中该单词的频率计数收集到与w关联的单个桶中,然后在桶内将它们相加得到最终总数。
- k - 均值聚类 :k - 均值聚类的关键步骤是更新最接近当前质心c的点的新质心c′。将最接近c的所有点p哈希到与c关联的单个桶后,可以一次性遍历该桶计算c′。
- PageRank计算 :顶点v的新PageRank值是图中所有指向v的相邻顶点x的旧PageRank值之和。将x的PageRank值哈希到所有相邻顶点v的桶中,能将所有相关信息收集到合适的位置,以便一次性更新PageRank值。

这些算法可以通过程序员编写的两个函数来指定:map和reduce。
- Map函数 :遍历每个输入文件,根据需要哈希或发出键值对。以下是单词计数映射器的伪代码:

Map(String docid, String text):
    for each word w 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值