Spark学习笔记1:Spark概览

本文介绍了Spark这一高性能集群计算平台的核心组件及特性。详细解读了Spark Core、Spark SQL、Spark Streaming、MLlib等模块的功能与应用场景,展示了Spark如何通过其组件间的紧密集成提供统一的数据处理解决方案。
摘要由CSDN通过智能技术生成

Spark是一个用来实现快速而通用的集群计算的平台。

Spark项目包含多个紧密集成的组件。Spark的核心是一个对由很多计算任务组成的,运行在多个工作机器或者是一个计算集群上的应用进行调度,分发以及监控的计算引擎。Sark核心引擎有着速度快和通用的特点,因此Spark支持为各种不同应用场景专门设计的高级组件,这些组件关系密切并且可以互相调用。

Spark各组件密切结合的设计原理的优点:软件栈中所有的程序库和高级组件都可以从下层改进中获益以及能够构建出无缝整合不同处理模型的应用。

Spark各个组件如下图:

 

 

分别对各个组件进行介绍:

  • Spark Core

Spark Core实现了Spark的基本功能,包括任务调度,内存管理,错误恢复,与存储系统交互等模块。Spark Core中还包含了对弹性分布式数据集(RDD)的API定义。RDD表示分布在多个计算节点上可以并行操作的元素集合,是Spark主要的编程抽象。Spark Core提供了创建和操作这些集合的多个API。

  • Spark SQL

Spark SQL是Spark用来操作结构化数据的程序包。通过Spark SQL,可以使用SQL或者Hive的HQL来查询数据。Spark SQL支持多种数据源,还支持开发者将SQL和传统的RDD编程的数据操作方式相结合。

  • Spark Streaming

Spark Streaming是Spark提供的对实时数据进行流式计算的组件。比如生产环境中的网页服务器日志,Spark Streaming提供了用来操作数据流的API,并且与Spark Core中的RDD API高度对应。Spark Streaming还支持与Spark Core同级别的容错性,吞吐量以及可伸缩性。

  • MLlib

Spark中的一个包含常见的机器学习功能的程序库,叫做MLlib。MLlib提供了很多种机器学习算法,包括分类,回归,聚类,协同过滤等,还提供了模型评估,数据导入等额外的支持功能。

  • 集群管理器

Spark设计为可以高效地在一个计算节点到数千个计算节点之间伸缩计算。为了实现这样的要求,同时获得最大灵活性,Spark支持在各种集群管理器上运行,最常见的就是Hadoop YARN,Spark自带的一个简易调度器,叫做独立调度器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值