reduce阶段:和map函数一样也是程序员编写的,最终结果是存储在hdfs上的。
SQL和NoSQL数据库的对比 (1) 数据模型,SQL数据库对数据有严格的约束,包括数据之间的关系和数据的完整性。 (2) 数据处理:传统的SQL数据库满足CAP原则(一致性(Consistency)、可用性
(Availability)、分区容忍性(Partition Tolerance))的C和A,所以在P方面很弱,进而导致传统数据库在可扩展性方面,面临很多问题。NoSQL数据库满足CAP原则的A和P,所以在C比较弱,进而使得斐关系型数据库无法满足ACID要求。
(3) 接口层区别:SQL数据库都是以SQL语言对数据库进行访问的,目前所有的SQL数
据都支持SQL语言;NoSQL数据库对数据的操作都是通过一些API实现的,支持的查询功能很简单,并且不同数据库有不同的API。
(4) 优势和劣势:SQL数据库具有很高的一致性,在ACID方面能力非常强移植性很高,
但在可用性方面能力较弱。NoSQL数据库最大的优点是非常高的可扩展性,具有很强的并发处理能力,但缺乏数据一致性保证。另外,由于分布在多个服务器行,所以跨表、跨服查询很难。
Google Reduce编程模型(简单描述如何实现) 原始数据1 原始数据2 原始数据M Map Map … Map Reduce … Reduce 结果1 结果R
一个Map函数就是对一部分原始数据进行制定的操作。每个Map函数都针对不同的原始数据,因此Map和Map之间是互相独立的,这是的他们可以充分并发。
一个Reduce操作就是对每个Map所产生的一部分中间结果进行合并操作,每个Reduce所处理的Map中间结果是互相不交叉的,所有Reduce产生的最终结果经过简单的连接就形成了完整的结果集,因此Reduce也可以在并发环境下之下执行 开发者需编写 两个主要函数
Map: (in_key, in_value) ? {(keyj, valuej) | j = 1…k} Reduce: (key, [value1,…,valuem]) ? (key, final_value)
Map输入参数:in_key和in_value,它指明了Map需要处理的原始数据
Map输出结果:一组
Reduce工作:对这些对应相同key的value值进行归并处理
Reduce输出结果:(key, final_value),所有Reduce的结果并在一起就是最终结果
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库云计算考试重点 - 图文(2)在线全文阅读。
相关推荐: