大数据分布式数据处理系统,主要分为哪两种?
大数据的处理模式分为流处理和批处理两种。流处理是直接处理,批处理采用先存储再处理。
流处理将数据视为流,源源不断的数据形成数据流。当新的数据到来即立即处理并返回所需的结果。大数据的实时处理是一个极具挑战性的工作,数据具有大规模、持续到达的特点。因此,如果要求实时的处理大数据,必然要求采用分布式的方式,在这种情况下,除了应该考虑分布式系统的一致性问题,还将涉及到分布式系统网络时延的影响,这都增加了大数据流处理的复杂性。目前比较有代表性的开源流处理系统主要有:Twitter的Storm、Yahoo的S4以及Linkedin的Kafka等。
Google公司2004年提出的MapReduce编程模型是最具代表性的批处理模型。MapReduce架构的程序能够在大量的普通配置的计算机上实现并行化处理。这个系统在运行时只关心如何分割输入数据,在大量计算机组成的集群上的调度,集群中计算机的错误处理,管理集群中的计算机之间必要的通信。
对于有些计算,由于输入数据量的巨大,想要在可接受的时间内完成运算,只有将这些计算分布在成百上千的主机上。这种计算模式对于如何处理并行计算、如何分发数据、如何处理错误需要大规模的代码处理,使得原本简单的运算变得难以处理。MapReduce就是针对上述问题的一种新的设计模型。
MapReduce模型的主要贡献就是通过简单的接口来实现自动的并行化和大规模的分布式计算,通过使用MapReduce模型接口实现在大量普通的PC上的高性能计算。
MapReduce编程模型的原理:利用一个输入键-值(Key/Value)对集合来产生一个输出的key/value对集合。MapReduce库的用户用两个函数表达这个计算:Map和Reduce。用户自定义的Map函数接受一个输入的key/value值,然后产生一个中间key/value对集合。MapReduce库把所有具有相同中间key值的value值集合在一起传递给Reduce函数。用户自定义的Reduce函数接收一个中间key的值和相关的一个value值的集合。Reduce函数合并这些value值,形成一个较小的value值集合
MapReduce的提出曾经遭到过一系列的指责和诟病。数据专家Stonebraker就认为MapReduce是一个巨大的倒退,指出其存取没有优化、依靠蛮力进行数据处理等问题。但是随着MapReduce在应用上的不断成功,以其为代表的大数据处理技术还是得到了广泛的关注。研究人员也针对MapReduce进行了深入的研究,目前针对MapReduce性能提升研究主要有以下几个方面:多核硬件与GPU上的性能提高;索引技术与连接技术的优化;调度技术优化等。在MapReduce的易用性的研究上,研究人员正在研究更为高层的、表达能力更强的语言和系统,包括Yahoo的Pig、Microsoft的LINQ、Hive等。
除了Google的MapReduce,Yunhong Gu等人设计实现了Sector and Sphere云计算平台[18],包括Sector和Sphere两部分。Sector是部署在广域网的分布式系统,Sphere是建立在Sector上的计算服务。Sphere是以Sector为基础构建的计算云,提供大规模数据的分布式处理。Sphere的基本数据处理模型如图4所示。
针对不同的应用会有不同的数据,Sphere统一地将它们以数据流的形式输入。为了便于大规模地并行计算,首先需要对数据进行分割,分割后的数据交给SPE执行。SPE是Sphere处理引擎,是Sphere的基本运算单元。除了进行数据处理外SPE还能起到负载平衡的作用,因为一般情况下数据量远大于SPE数量,当前负载较重的SPE能继续处理的数据就较少,反之则较多,如此就实现了系统的负载平衡。
人工智能、大数据、云计算和物联网的未来发展值得重视,均为前沿产业,多智时代专注于人工智能和大数据的入门和科谱,在此为你推荐几篇优质好文:
1.在学习大数据之前,需要具备什么基础
http://www.duozhishidai.com/article-12916-1.html
2.大数据工程师培训,需要学习的有哪些课程?
http://www.duozhishidai.com/article-15081-1.html
3.大数据的特点是什么,大数据与Hadoop有什么关系?
http://www.duozhishidai.com/article-13276-1.html
多智时代-人工智能和大数据学习入门网站|人工智能、大数据、物联网、云计算的学习交流网站
![](http://www.duozhishidai.com/static/image/public/banner.jpg)
大数据分布式数据处理系统,主要分为哪两种?相关推荐
- 大数据分布式工作流任务调度系统DolphinScheduler v1.3.4
简介: Apache DolphinScheduler(incubator,原EasyScheduler)是一个大数据分布式工作流任务调度系统,主要解决大数据研发过程中ETL处理错综复杂的依赖关系,而 ...
- 大数据、云计算系统高级架构师课程学习路线图
大数据之Linux+大数据开发篇 大数据的前景和意义也就不言而喻了,未来,大数据能够对大量.动态.能持续的数据,通过运用新系统.新 工具.新模型的挖掘,从而获得具有洞察力和新价值的东西.源于互联网的发 ...
- 大数据时代数据处理技术及应用
大数据时代数据处理技术及应用 现如今,人们所处的社会是信息化社会,人们不再认为数据是静止而陈旧的.以前,一旦完成了数据收集的目的后,数据便会没有任何用处变为废弃物.例如在火车到达终点站后,火车 ...
- 图解大数据 | 分布式平台Hadoop与Map-Reduce详解
作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/84 本文地址:https://www.showmeai.tech/article-d ...
- 大数据、云计算系统顶级架构师课程学习路线图
大数据之Linux+大数据开发篇 Java Linux基础 Shell编程 Hadoop2.x HDFS YARN MapReduce ETL数据清洗Hive Sqoop Flume/Oozie 大数 ...
- 大数据平台数据处理之Lambda架构和Kappa架构
首先我们来看一个典型的互联网大数据平台的架构,如下图所示: 在这张架构图中,大数据平台里面向用户的在线业务处理组件用褐色标示出来,这部分是属于互联网在线应用的部分,其他蓝色的部分属于大数据相关组件,使 ...
- Apache DolphinScheduler 大数据工作流调度系统
[本文正在参与 "拥抱开源 - Apache DolphinScheduler 有奖征稿活动],活动地址 Apache DolphinScheduler 大数据工作流调度系统 一.背景 二. ...
- 大数据用户画像系统架构设计
文章目录 一.用户画像数据仓库搭建.数据抽取部分 二.大数据平台.用户画像集市分层设计.处理 三.离线计算部分 四.实时计算部分 五.Solr/ES搜索引擎部分 六.Java Web毫秒级实时用户画像 ...
- 专题导读:大数据异构并行系统
点击上方蓝字关注我们 随着大数据处理从粗放走向集约,性能.成本.功耗等多方面的约束为大数据系统设计提供了新的机遇与挑战.各种异构并行处理体系结构与芯片架构不断创新并被广泛部署,在为大数据处理提供更强大 ...
最新文章
- 巨石加密_点餐:如何吃一个可怕的巨石
- centos 搭建日志服务器
- LeetCode 431. 将 N 叉树编码为二叉树(递归/层序)
- 游戏脚本在移动游戏设计中的作用_游戏设计中道具设计分步解说
- Git学习笔记1--Git原理简单介绍
- python基础知识(day3)
- leetcode之String to Integer (atoi)
- centos实现证书登录禁止密码登录
- 收藏!这10部关于数学的顶级纪录片,告诉孩子数学跟枯燥不沾边!
- 软路由ros(MIKROTIK)安装教程:[11]端口映射
- 微软Windows字体被诉侵权?我们来聊聊有关网站侵权被诉的那些事。
- 支付网关 | 京东618、双11用户支付的核心承载系统(上篇)
- 惠州龙门大米飘香 国稻种芯-中国水稻节:广东乡村振兴样板
- 油管YouTube直播点赞订阅提示PR字幕Mogrt动态图形模板
- 树莓派开发板Android Things镜像烧录
- hostapd建立无线AP出现did not acknowledge association的解决办法
- C#--集合添加数据(ArrayList and list)
- Python小姿势 - Python爬取网页数据
- 2018年 应届毕业生 安卓开发工程师 求职准备
- SDF!这特效牛不牛?