论文部分内容阅读
摘要:在数据类型不断增加,规模逐渐扩大的趋势下,NO SQL技术与MapReduce并行处理理念开始备受关注。而作为N0SQL数据库典型代表,MongoDB可索引并查询大量数据,但是其所提供的MapReduce无法满足太过繁杂的数据分析与并行计算。而Hadoop具备强大的MapReduce计算能力,但实时服务延时较长。对此,可基于扩展性、数据本地化等相关要素分析,整合Hadoop与MongoDB,针对不同应用场景,寻求最优整合方式,以提高大数据处理效率与质量。
关键词:Hadoop;MongoDB;整合;大数据处理
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2019)29-0001-02
1Hadoop与MongoDB概述
1.1Hadoop
Hadoop包含大量元素,最底部为HDFS,作用是存储所有节点文件,其上层为MapReduce引擎,以及数据仓库Hive、数据库Hbase。Hadoop在大数据处理中实现广泛应用的关键在于,其数据提取、变形、加载等极具优势。Hadoop分布式框架推动大数据处理引擎尽量接近存储,比较适合批处理操作,所以,批处理结果可直接存储。Had oop的Map Reduce功能可碎片化单项任务,并实时传输到各节点,然后以单数据集形式向数据仓库加载。
1.2MongoDB
MongoDB是针对Web应用程序与互联网基础设施所设计的数据库管理系统,是典型的No SQL数据库。MongoDB以BSON为数据模型结构,其可促使MongoDB在生产环境下提高读写能力,吞吐量明显较强。而且,MongoDB还具备分片能力,可分片数据集,以此将数据存储压力分摊到多台服务器上。MongoDB还可检测主节点的存活状态,在失活的时候,可自动将从节点转变为主节点,以转移故障。由于BSON数据模型主要面向对象,因此可表征十分丰富,层次化分明的数据结构。
2Hadoop与MongoDB整合框架
Hadoop善于分析计算海量数据,MongoDB擅长分布式存储与查询数据。有机整合可发挥双重优势,同时满足数据分析、计算、查询、存储等多项要求。整合框架具体如图1所示。
就Hadoop与MongoDB整合而言,使用了中间件,即Mon-goDB Hadoop Connector,作用是利用MongoDB替换HDFS,作为Map Reduce数据源,在分布式集群中,集合划分为固定形状的块基于MongoDB储存,而Hadoop Mappers以路由节点为载体并行读取块,解析数据,然后利用Reducer合并,传输结果于Mon-goDB。在数据处理中,HDFS并未发挥作用,为保证Hadoop与MongoDB整合的有效性、灵活性,以及数据处理的实效性。就MongoDB Hadoop Connector进行了优化扩展,即在Connector中添加Input Format与Output Format类,以HDFS与MongoDB为Map Reduce可选择输入源或者输出目标。
Hadoop与MongoDB整合方案以配置方式不同划分为四类,即:一是基于HDFS读取数据,并编入计算结果;二是基于HDFS读取数据,在MongoDB中编写计算结果;三是基于Mon_goDB读取数据,在HDFS编写计算结果;四是基于MongoDB读取数据,并编入计算结果。针对三种不同应用场合对各方案性能进行评估与测试,即:一是Read=Write,读写大致相同;Read
关键词:Hadoop;MongoDB;整合;大数据处理
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2019)29-0001-02
1Hadoop与MongoDB概述
1.1Hadoop
Hadoop包含大量元素,最底部为HDFS,作用是存储所有节点文件,其上层为MapReduce引擎,以及数据仓库Hive、数据库Hbase。Hadoop在大数据处理中实现广泛应用的关键在于,其数据提取、变形、加载等极具优势。Hadoop分布式框架推动大数据处理引擎尽量接近存储,比较适合批处理操作,所以,批处理结果可直接存储。Had oop的Map Reduce功能可碎片化单项任务,并实时传输到各节点,然后以单数据集形式向数据仓库加载。
1.2MongoDB
MongoDB是针对Web应用程序与互联网基础设施所设计的数据库管理系统,是典型的No SQL数据库。MongoDB以BSON为数据模型结构,其可促使MongoDB在生产环境下提高读写能力,吞吐量明显较强。而且,MongoDB还具备分片能力,可分片数据集,以此将数据存储压力分摊到多台服务器上。MongoDB还可检测主节点的存活状态,在失活的时候,可自动将从节点转变为主节点,以转移故障。由于BSON数据模型主要面向对象,因此可表征十分丰富,层次化分明的数据结构。
2Hadoop与MongoDB整合框架
Hadoop善于分析计算海量数据,MongoDB擅长分布式存储与查询数据。有机整合可发挥双重优势,同时满足数据分析、计算、查询、存储等多项要求。整合框架具体如图1所示。
就Hadoop与MongoDB整合而言,使用了中间件,即Mon-goDB Hadoop Connector,作用是利用MongoDB替换HDFS,作为Map Reduce数据源,在分布式集群中,集合划分为固定形状的块基于MongoDB储存,而Hadoop Mappers以路由节点为载体并行读取块,解析数据,然后利用Reducer合并,传输结果于Mon-goDB。在数据处理中,HDFS并未发挥作用,为保证Hadoop与MongoDB整合的有效性、灵活性,以及数据处理的实效性。就MongoDB Hadoop Connector进行了优化扩展,即在Connector中添加Input Format与Output Format类,以HDFS与MongoDB为Map Reduce可选择输入源或者输出目标。
Hadoop与MongoDB整合方案以配置方式不同划分为四类,即:一是基于HDFS读取数据,并编入计算结果;二是基于HDFS读取数据,在MongoDB中编写计算结果;三是基于Mon_goDB读取数据,在HDFS编写计算结果;四是基于MongoDB读取数据,并编入计算结果。针对三种不同应用场合对各方案性能进行评估与测试,即:一是Read=Write,读写大致相同;Read