概述
1、Spark是什么
Spark是一个用来实现快速而通用的集群计算的平台。它的一个主要的特点就是能够在内存中进行计算,因而相对于MapReduce而言速度更快,即使是必须在磁盘上进行计算,也比MapReduce效率更高。
2、Spark的核心组件
(1)Spark Core
Spark Core实现了Spark的基本功能,包括任务调度、内存管理、错误恢复、与存储系统交互等,还包含了对弹性分布式数据集(resilient distributed dataset) RDD的API定义。RDD表示分布在多个计算节点上可以并行操作的元素集合,是Spark主要的编程抽象。
(2)Spark SQL
Spark SQL是Spark用来操作结构化数据的程序包,支持多种数据源,如Hive表、Parquet、JSON文件等。
(3)Spark Streaming
Spark Streaming是Spark提供的对实时数据进行流式计算的组件。
(4)MLlib
MLlib提供了多种机器学习算法,包括分类、回归、聚类、协同过滤等,还提供了模型评估、数据导入等额外的支持功能。
(5)GraphX
GraphX是用来操作图的程序库,可以进行并行的图计算。
(6)集群管理器
Spark可以高效地在一个计算节点到数千个节点之间伸缩计算,为实现这样的要求,Spark支持在各种集群管理上运行,包括Hadoop YARN、Apache Mesos以及Spark自带的独立调度器。
3、Spark核心概念
(1)驱动器程序
每个Spark应用都由一个驱动器程序(driver program)来发起集群上的各种并行操作,驱动器程序包含应用的main函数,并且定义了集群上的分布式数据集,还对这些分布式数据集应用了相关操作。驱动器程序通过一个SparkContext对象来访问Spark,这个对象代表对计算集群的一个连接,有了它就可以来创建RDD。
(2)执行器
要对RDD执行操作,驱动器程序一般要管理多个执行器(executor)节点,比如在集群上运行count()操作,则不同节点会统计文件的不同部分的行数。也就是说Spark会自动将操作函数发到各个执行器节点上,这样就可以在单一的驱动器程序中编程,并且让代码自动运行在多个节点上。
最后
以上就是贤惠金针菇为你收集整理的Spark简介的全部内容,希望文章能够帮你解决Spark简介所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复