目录
一,大数据开发总体架构
二,Spark简介
“Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发的通用内存并行计算框架Spark使用Scala语言进行实现,它是一种面向对象、函数式编程语言,能够像操作本地集合...”
Apache Spark是一个快速通用的集群计算系统,是一种与Hadoop相似的开源集群计算环境,但是Spark在某些工作负载方面表现得更加优越。它提供了Java、Scala、Python和R的高级API,以及一个支持通用的执行图计算的优化引擎。它还支持一组丰富的高级工具,包括使用SQL进行结构化数据处理的Spark SQL、用于机器学习的MLlib、用于图处理的GraphX,以及用于实时流处理的Spark Streaming。
Spark作为下一代大数据处理引擎,现已成为当今大数据领域非常活跃、高效的大数据计算平台,很多互联网公司都使用Spark来实现公司的核心业务,例如阿里的云计算平台、京东的推荐系统等,只要和海量数据相关的领域,都有Spark的身影。Spark提供了Java、Scala、Python和R的高级API,支持一组丰富的高级工具,包括使用SQL进行结构化数据处理的SparkSQL,用于机器学习的MLlib,用于图处理的GraphX,以及用于实时流处理的Spark Streaming。这些高级工具可以在同一个应用程序中无缝地组合,大大提高了开发效率,降低了开发难度。
三,Spark发展史
Spark的简史
1、2009年,Spark诞生于伯克利大学AMPLab,属于伯克利大学的研究性项目;
2、2010 年,通过BSD 许可协议正式对外开源发布;
3、2012年,Spark第一篇论文发布,第一个正式版(Spark 0.6.0)发布;
4、2013年,成为了Aparch基金项目;发布Spark Streaming、Spark Mllib(机器学习)、Shark(Spark on Hadoop);
5、2014 年,Spark 成为 Apache 的顶级项目; 5 月底 Spark1.0.0 发布;发布 Spark Graphx(图计算)、Spark SQL代替Shark;
6、2015年,推出DataFrame(大数据分析);2015年至今,Spark在国内IT行业变得愈发火爆,大量的公司开始重点部署或者使用Spark来替代MapReduce、Hive、Storm等传统的大数据计算框架;
7、2016年,推出dataset(更强的数据分析手段);
8、2017年,structured streaming 发布;
9、2018年,Spark2.4.0发布,成为全球最大的开源项目。
基本组件
Spark Core;Spark 核心 API,提供 DAG 分布式内存计算框架
Spark SQL:提供交互式查询 API
Spark Streaming:实时流处理
SparkML:机器学习 API
Spark Graphx:图形计算
Spark于2009年诞生于美国加州大学伯克利分校的AMP实验室,它是一个可应用于大规模数据处理的统一分析引擎。Spark不仅计算速度快,而且内置了丰富的APl,使得用户能够更加容易地编写程序。下面我们就来聊聊Spark的发展历史。
Spark在2013年加入Apache孵化器项目,之后发展迅猛,并于2014年正式成为Apache软件基金会的顶级项目。Spark从最初研发到最终成为Apache的顶级项目,其发展的整个过程仅用了5年时间目前。
目前,Spark生态系统已经发展成为一个可应用于大规模数据处理的统一分析引擎,它是基于内存计算的大数据并行计算框架,适用于各种各样的分布式平台系统。在Spark生态圈中包含了Spark SQL、Spark Streaming、GraphX、MLlib等组件,这些组件可以非常容易地把各种处理流程整合在一起,而这样的整合,在实际数据分析过程中是很有意义的。不仅如此,Spark的这种特性还大大减轻了原先需要对各种平台分别管理的依赖负担
Spark目前最新版本是2022年1月26日发布的Spark3.2.1
四,Spark特点
Spark官网上给出Spark的特点
(一)快速
“Spark具有运行速度快、易用性好、通用性强和随处运行等特点一、速度快 由于ApacheSpark支持内存计算,并且通过DAG(有向无环图)执行引擎支持无环数据流,所以官方宣称其在内存中的运算速度要比Hadoop的MapReduce...”
由于Apache Spark支持内存计算,并且通过DAG(有向无环图)执行引擎支持无环数据流,所以官方宣称