MapReduce是一种处理海量数据的并行编程模式,用于大规模数据集(通常大于1TB)的并行运算。
“Map(映射)”、“Reduce(化简)”的概念和主要思想,都是从函数式编程语言和矢量编程语言借鉴。
适合非结构化和结构化的海量数据的搜索、挖掘、分析与机器智能学习等。
MapReduce计算模型
分布式计算的瓶颈是网络带宽。“本地计算”是最有效的一种节约网络带宽的手段。
MapReduce的特点
1、输入的键值是不固定的,由分析人员选择
2、对于非结构化和半结构化数据,非常有效
3、适合于大规模数据的一次写入,多次查询
4、MapReduce其核心就是高速、流式读写操作
无共享
无共享结构让MapReduce程序员无需考虑系统的部分失效问题;
因为自身的系统实现,能够检测到失败的map或reduce任务;
并让正常的机器重新执行这些失败的任务;
因为各个任务之间彼此独立;
任务的执行顺序是无关紧要的;
MapReduce计算流程
“Map(映射)”、“Reduce(化简)”的概念和主要思想,都是从函数式编程语言和矢量编程语言借鉴。
适合非结构化和结构化的海量数据的搜索、挖掘、分析与机器智能学习等。
MapReduce计算模型
分布式计算的瓶颈是网络带宽。“本地计算”是最有效的一种节约网络带宽的手段。
MapReduce的特点
1、输入的键值是不固定的,由分析人员选择
2、对于非结构化和半结构化数据,非常有效
3、适合于大规模数据的一次写入,多次查询
4、MapReduce其核心就是高速、流式读写操作
无共享
无共享结构让MapReduce程序员无需考虑系统的部分失效问题;
因为自身的系统实现,能够检测到失败的map或reduce任务;
并让正常的机器重新执行这些失败的任务;
因为各个任务之间彼此独立;
任务的执行顺序是无关紧要的;
MapReduce计算流程