MapReduce --MR基础原理

MR基础原理

1.mapreduce 处理大数据,处理大数据的不一定是mapreduce

2.传统处理大数据的场景:hash方法

2.1 a=5 -----a%3,取余的方式,余数会<=3,找到不同的桶号,负载均衡,分发压力,通过这个hash方法。

2.2 Hash 代码示例

#导入一个随机数库
 import random
 print random.random()
 0.33966638322
 print random.random()
 0.63803832923 
 print random.random()
 0.38981373893
 #让这些数字*100之后,
 print random.random()*100
 33.966638322
 print random.random()*100
 63.803832923 
 print random.random()*100
 38.981373893
 #再int 一下改变一下字符串类型。就变成了整数
  print int(random.random()*100)
 33
 print int(random.random()*100)
 63
 print int(random.random()*100)
 38
 #要是再进行取余,假如有6个桶,那对6取余,hash运算,必然把这些请求到了6个桶
 #其中的一个,实现的分流
 print int(random.random()*100)%6
 3
 print int(random.random()*100)%6
 5
 print int(random.random()*100)%6

3.一致性hash方法:支持动态增长,更高级的划分方法

假设int 的取值范围是0-65536,若是你再加1,那就从最大值变成了最小值,那这个数就是最小值1,环形hash。编程是想。

最大值和最小值收尾相接,就变成了一个环形

4.大数据类型

大数据量:mysql分库分表,hash方式

大流量:其实也是hash,流量hash分流

大计算:mapreduce是一个框架,解决大计算的问题,云计算

云计算技术难点:

1.单机必须变成集群,处理能力更强

2.稳定性和容错能力

3.数据一致性

强一致性:每个节点的数据必须一样,才能提供服务

弱一致性:有一个机器数据更新了就可以提供服务,提供服务的速度快。其实部分机器 还未更新数据,

5.MapReduce 框架

作业调度:集群作业,大家一起提交任务,mr负责调度

 

分而治之思想

数钱的例子

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值