APP下载

MongoDB与Hadoop MapReduce的海量非结构化数据处理方案

2021-04-20宋辰萱孔祥文

电子技术与软件工程 2021年2期
关键词:数据处理

宋辰萱 孔祥文

(中国市政工程华北设计研究总院有限公司 天津市 300074)

1 MongoDB与MapReduce数据传输机制

MongoDB 与MapReduce 的整合主要由MongoDB Cluster、MongoDB-Connector for Hadoop 以及MapReduce Cluster 组成,MongoDB-Connector for Hadoop 充当数据读写存储的重要组成部分,MongoDB Cluster 承担对非结构化数据分片存储的工作,MapReduce Cluster 负责并行计算的任务。[1]该连接器同时支持Pig以及Hive,从而可通过简单的脚本执行相对复杂的MapReduce 工作流。

2 基于MongoDB分片技术的性能改进

MapReduce 使用javascript 语法编写,其内部基于javascript V8引擎解析并执行,javascript 语言的灵活性使mapreduce 可以处理更加复杂的业务场景。

MapReduce 主要分为以下几个阶段,如图1所示。

Map:识别各种操作并将其分散至数据集群的各文档中。

Shuffle:根据Key 值将数据集分组,同时为每一Key 值生成与其对应的值表。

Reduce:数据表中的数据元素经过反复处理解析,将数据表回写至Shuffle,最终每个Key 有且只有一个数据表与其对应,同时该数据表只存在一个元素。

Finalize:获得数据最终计算结果并对该结果进行加工整合。

图2清楚地说明 Map-Reduce 的执行过程。

针对现有的分片技术提出性能改进方案,如图3所示。

2.1 设置合适的分片方式以及chunk size

由于数据执行或更改时,频繁拆分及迁移数据信息,输入输出资源会在splitting 和balancing 的过程中被大量消耗,因此数据迁移时,数据块的大小设置对资源的开销有一定的决定作用。数据块大小默认是64M,但实际运用时为避免输入输出资源的大量消耗则灵活选择分片方式,结合各自的业务特征,通常选择基于范围的分片方式或者基于Hash 索引的分片方式。

2.2 合理部署MongoDB分片集群Sharded Cluster

分散存储Sharded Cluster 中的数据,实现系统性能最大化,当用户发起数据读写请求时,mongos 在Config Server 即时访问数据接口,获取该数据集群中数据节点的路由信息,并将获取的读写请求转发至相关的数据分片中。……

登录APP查看全文

猜你喜欢

数据处理
验证动量守恒定律实验数据处理初探
认知诊断缺失数据处理方法的比较:零替换、多重插补与极大似然估计法*
ILWT-EEMD数据处理的ELM滚动轴承故障诊断
ADS-B数据处理中心的设计与实现
MATLAB在化学工程与工艺实验数据处理中的应用
基于希尔伯特- 黄变换的去噪法在外测数据处理中的应用
大数据处理中基于热感知的能源冷却技术
数据处理能力在求职中起关键作用
我国首个“突发事件基础数据处理标准”发布
基于POS AV610与PPP的车辆导航数据处理