Hadoop——大数据框架,有多种语言版本,包括python,JAVA等
为什么需要Hadoop?
数据量大,计算量大,单个机器无法完成
可将数据分布在多个机器上由多个机器共同完成计算
大数据计算需要各个机器相互协调工作,大数据算法有共同点,可将其做成框架,Hadoop就是这样的框架
MapReduce,Google提出的框架
以下面的例子来解释MapReduce的概念
样例:Google搜索引擎,想知道大家对哪些关键字感兴趣,以天为单位,收集所有人搜过的关键字,统计其出现的次数,用户搜索的关键字数据文件存在多台机器上。
- Map阶段:每台机器处理本机的数据,计算本机文件中的关键字个数
- Shuffing阶段:机器A, B, C, D......从1-n所有机器上取出Map的结果,并按关键字组合
- Reduce阶段:对每一个搜索关键字统计出现总次数
使用Hadoop时只需要编写Map函数和Reduce函数,其他的框架已经帮我们实现了
参考文章
- https://zhuanlan.zhihu.com/p/20176725
- Hadoop权威指南