Spark简介


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会自动将操作函数发到各个执行器节点上,这样就可以在单一的驱动器程序中编程,并且让代码自动运行在多个节点上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值