大数据框架综述

一、什么是大数据

大数据,IT行业术语,是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合(由数据组成的集合),是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
它具有以下特征:
1、海量的数据规模。随着信息技术的高速发展,数据开始爆发性增长,存储单位从过去的GB到TB,乃至现在的PB、EB级别。
2、快速的数据流转。大数据的产生非常迅速,主要通过互联网传输。生活中每个人都离不开互联网,也就是说每天个人每天都在向大数据提供大量的资料。
3、多样的数据类型。按照不同的划分方式,数据可以被划分为多种类型。
4、价值密度低。现实世界所产生的数据中,有价值的数据所占比例很小。

二、大数据的处理流程

1、采集。在大数据的采集过程中,其主要特点和挑战是并发数高,因此需要在采集端部署大量数据库才能支撑。并且如何在这些数据库之间进行负载均衡和分片的确是需要深入的思考和设计。
2、导入/预处理。导入与预处理过程的特点和挑战主要是导入的数据量大,每秒钟的导入量经常会达到百兆,甚至千兆级别。
3、统计/分析。统计与分析这部分的主要特点和挑战是分析涉及的数据量大,其对系统资源,特别是I/O会有极大的占用。
4.挖掘。比较典型算法有用于聚类的Kmeans、用于统计学习的SVM和用于分类的NaiveBayes,主要使用的工具有Hadoop的Mahout等。该过程的特点和挑战主要是用于挖掘的算法很复杂,并且计算涉及的数据量和计算量都很大,常用数据挖掘算法都以单线程为主。

三、什么是大数据框架

大数据处理框架负责对大数据系统中的数据进行计算,例如处理从非易失存储(非易失性存储器是指当电流关掉后,所存储的数据不会消失的电脑存储器)中读取的数据,或处理刚刚摄入到系统中的数据。数据的计算则是指从大量单一数据点中提取信息和见解的过程。
处理框架和处理引擎负责对数据系统中的数据进行计算。虽然“引擎”和“框架”之间的区别没有什么权威的定义,但大部分时候可以将前者定义为实际负责处理数据操作的组件,后者则可定义为用来完成同样工作的一系列组件。比如Apache Hadoop可以看做是以MapReduce为默认处理引擎的处理框架。
不论是系统中存在的历史数据,还是持续不断接入系统中的实时数据,只要数据是可访问的,我们就可以对数据进行处理。按照对所处理的数据形式和得到结果的时效性分类,数据处理框架可以分为两类
1、批处理系统。批处理是一种用来计算大规模数据集的方法。批处理的过程包括将任务分解为较小的任务,分别在集群中的每个计算机上进行计算,根据中间结果重新组合数据,然后计算和组合最终结果。当处理非常巨大的数据集时,批处理系统是最有效的。典型的批处理系统就是Apache Hadoop。
2、流处理系统。流处理则对由连续不断的单条数据项组成的数据流进行操作,注重数据处理结果的时效性。典型的流处理系统有Apache Storm,Apache Samza。还有一种系统,同时具备批处理与流处理的能力,这种称为混合处理系统,比如Apache Spark,Apache Flink。

四、批处理系统

批处理:将作业按照其性质分组(分批),再以组为基本单位提交给计算机系统处理,由计算机自动完成后再输出结果。这种采用批量处理作业技术的操作系统称为批处理操作系统。

批处理系统:根据计算机内存中运行存放的作业数,分为单道批处理系统和多道批处理系统。早期的批处理系统属于单道批处理系统,即内存中只允许存放一个作业并运行,作业按照顺序依次执行(先进先出)。

单道批处理系统运行过程:一个作业单独进入内存并独占系统资源,运行结束后下一个作业才能进入内存。当作业进行数据量的输入输出操作时,CPU只能处于等待状态,造成了资源的浪费。为了提高效率,在单道批处理系统的基础上引入了多道程序设计(multiprogramming)技术,这就形成了多道批处理系统,即在内存中可同时存在若干道作业,作业执行的次序与进入内存的次序无严格的对应关系。这些作业是通过一定的作业调度算法来使用CPU的,一个作业在等待输入/输出处理时,CPU调度另外一个作业运行,因此可以显著提高CPU的利用率。
批处理系统主要操作大量的、静态的数据,并且等到全部处理完成后才能得到返回的结果。其处理的数据具有以下特点
1、有限:数据集中的数据必须是有限的(无限的数据一批就处理不完了啊。连续不断的数据一般会使用流处理系统来进行处理,我们后面会讲到)
2、持久:批处理系统处理的数据一般存储在持久存储系统上(比如硬盘上、数据库中
批处理系统具有以下的特点:
1、多道:在内存中同时存放多个作业,一个时刻只有一个作业运行,这些作业共享CPU和外部设备等资源。
2、成批:用户和他的作业之间没有交互性。用户自己不能干预自己的作业的运行,发现作业错误不能及时改正。
评价:批处理系统在处理海量的持久数据方面表现出色,所以它通常被用来处理历史数据,很多OLAP(在线分析处理)系统的底层计算框架就是使用的批处理系统。但是由于海量数据的处理需要耗费很多时间,所以批处理系统一般不适合用于对延时要求较高的场景。

五、混合处理系统:批处理和流处理

一些处理框架可同时处理批处理和流处理工作负载。这些框架可以用相同或相关的组件和API处理两种类型的数据,借此让不同的处理需求得以简化。
当前主流的混合处理框架主要为Apache Spark和Apache Flink。实现这样的功能重点在于两种不同处理模式如何进行统一,以及要对固定和不固定数据集之间的关系进行何种假设。
虽然侧重于某一种处理类型的项目会更好地满足具体用例的要求,但混合框架意在提供一种数据处理的通用解决方案。这种框架不仅可以提供处理数据所需的方法,而且提供了自己的集成项、库、工具,可胜任图形分析、机器学习、交互式查询等多种任务。
Spark是多样化工作负载处理任务的最佳选择。Spark批处理能力以更高内存占用为代价提供了无与伦比的速度优势。对于重视吞吐率而非延迟的工作负载,则比较适合使用Spark Streaming作为流处理解决方案。在批处理领域,由于内存是比硬盘更昂贵的资源,所以Spark集群的成本较高。而在流处理领域,微批次的架构使得它的延时略高。
Flink提供了低延迟流处理,同时可支持传统的批处理任务。Flink也许最适合有极高流处理需求,并有少量批处理任务的组织。该技术可兼容原生Storm和Hadoop程序,可在YARN管理的集群上运行,因此可以很方便地进行评估。快速进展的开发工作使其值得被大家关注。

六、大数据框架的发展

1、萌芽阶段 (20世纪90年代至21世纪初)
1997年,美国国家航空航天局武器研究中心的大卫·埃尔斯沃思和迈克尔·考克斯在他们研究数据可视化中首次使用了“大数据”的概念。1998年《Science》杂志发表了一篇题为《大数据科学的可视化》的文字,大数据作为一个专有名词正式出现在公共期刊上。但是那时的大数据只表示“大量的数据或数据集”这样的字面含义,还没有涵盖到相关的采集、存储、分析挖掘、应用等技术方法与特征内涵。
2、发展阶段 (21世纪初至2010年)
在这一阶段中大数据逐渐为学术界的研究者所关注,其相关的定义、内涵、特性也得到了进一步的丰富。2001年,美国Gartner公司率先开发了大型数据模型。同年,DougLenny提出了大数据的3V模型。2005年,Hadoop技术应运而生,成为数据分析的主要技术。2007年,数据密集型科学出现。2008年,《Science》杂志推出了一系列大数据专刊,详细讨论了一系列大数据的问题。随着数据挖掘理论和数据库技术的逐步成熟,一批商业智能工具和知识管理技术如数据仓库、专家系统、知识管理系统等开始被应用。
3、成熟阶段 (2011年至今)
2011年,通用商用机械公司开发了沃森超级计算机,通过每秒扫描和分析4TB数据打破了世界纪录,大数据计算达到了一个新的高度。不久,MGI发布了《大数据前沿报告》,详细介绍了大数据在各个领域的应用,以及大数据的技术框架。2012年,瑞士举行了世界经济论坛,其中讨论了一系列与大数据有关的问题,并发表了《大数据,大影响》的报告。
在这大数据发展的成熟阶段,越来越多的研究者对大数据的认识从技术概念丰富到了信息资产与思维变革等多个维度,一些国家、社会组织、企业开始将大数据上升为重要战略。学术界及企业界纷纷开始将大数据研究由学术领域向应用领域扩展,大数据技术开始向商业、科技、医疗、政府、教育、经济、交通、物流及社会的各个领域渗透。
4、国内外现状
我国政府、学术研究、产业界都高度重视大数据的研究和应用工作,纷纷制定相关发展计划。在政府方面,2014年大数据首次写入政府工作报告,2015年发布《促进大数据发展行动纲要》,2016年首次将国家大数据战略作为“十三五”十四大战略之一写进五年规划中,2017年正式发布《大数据产业发展规划(2016-2020年)》,一步步将大数据推向重要位置;在学术研究方面,大数据研究机构、大数据学术组织纷纷成立,大数据相关的学术活动也相继举行;在产业层面,随着各级政府和企业大力推进,目前我国的大数据产业处于高速发展阶段。
而在国外,大数据所蕴含的战略价值已经引起了多数发达国家政府的重视,各国相继出台大数据战略规划和配套法规促进大数据应用和发展。如日本在2013年公布了新的IT战略——《创建最尖端IT国家宣言》,其中全面阐述了2013-2020期间以发展开放公共数据和大数据为核心的日本新IT国家战略。

七、大数据框架未来趋势

1、数据资源化
随着大数据的发展,很多商业机构都对大数据表现出相当浓厚的兴趣,大数据成为当代企业抢夺的新焦点。谷歌、百度、腾讯等企业都通过利用大数据取得了事业上的成功,而金融电信等行业也在通过不断地利用大数据来提升自身的竞争力。我们可以相信大数据将在不久的将来成为个人的资产,成为企业竞争的有力武器。数据资源也可以解决交通行业的出行问题,智能交通依靠大数据信息集成的优势和组合效率,并跨越行政区域的限制,很好地配置公共交通信息资源,促进公共交通均衡性发展,对交通堵塞和交通污染排放进行隐形控制。
2、行业方案定制化
大数据技术开始和传统的商业进行智能化的结合,在对企业的数据进行分析处理的基础上,将会引入更多的非数据化结构数据到其中。企业可以利用这项功能实现完整的数据化平台,并给各个商家定制适合他们的数据服务。由于商业智能化技术更利于企业找到新的商机,所以,必定会有广泛的应用市场。我们相信大数据技术在未来将会更智能化地解决商业中所存在的问题,对传统金融行业产生了巨大影响,大数据金融概念的提出及实施更能体现自身的实力和潜力。如京东商城等电子商务企业已经借助平台积淀的数据资产而进军金融领域,将信息流、物流和资金流深度融合,为平台上的用户提供订单白条等创新服务,弥补了传统供应链金融 信息技术服务的缺失,并且这种定制化的商业解决方案必定会在金融行业创造出更高的价值。在教育领域大数据也引发着重要变革,美国教育部门所创造的“学习分析系统”正是基于大数据所研发,它以数据和模块联合的框架,向教育工作者提供学生关于学习更多、更好、更精确的信息。
3、生活便利化
大数据技术已经开始逐渐改变我们的日常生活,并逐渐普及到了各个方面,促进了城市的发展。大数据技术从传统的、简单的数据分析处理到现在的智能化技术,无一不为人类提供了便利。智能技术来对自己的身体质量进行检测,比如:智能手环的出现,让人们可以随时了解自身的健康状态。外出时可以通过大数据技术进行人工智能导航;在家可以使用智能家电等。在未来大数据技术将会通过对数据的分析为人类提供更多智能化的帮助。

发布了1 篇原创文章 · 获赞 0 · 访问量 19

猜你喜欢

转载自blog.csdn.net/z2019jiayou/article/details/104943946