初识 Spark

Apache Spark是一个快速的集群计算系统,以其内存计算和RDD数据结构提高效率,对比Hadoop MapReduce速度提升可达100倍。Spark支持Java、Scala、Python等多种语言,提供SQL、Dataset API和流计算等功能,并兼容多种数据库和集群环境。Spark集群包括Driver、Worker和Executor,启动模式有Client和Cluster。Spark shell则为交互式数据分析提供了便利。
摘要由CSDN通过智能技术生成

Spark

Spark 是什么

Apache Spark 是一个快速的, 多用途的集群计算系统, 相对于 Hadoop MapReduce 将中间结果保存在磁盘中, Spark 使用了内存保存中间结果, 能在数据尚未写入硬盘时在内存中进行运算.

Spark 只是一个计算框架, 不像 Hadoop 一样包含了分布式文件系统和完备的调度系统, 如果要使用 Spark, 需要搭载其它的文件系统和更成熟的调度系统。

为什么会有Spark

Spark 产生之前, 已经有非常成熟的计算系统存在了, 例如 MapReduce, 这些计算系统提供了高层次的API, 把计算运行在集群中并提供容错能力, 从而实现分布式计算.

虽然这些框架提供了大量的对访问利用计算资源的抽象, 但是它们缺少了对利用分布式内存的抽象, 这些框架多个计算之间的数据复用就是将中间数据写到一个稳定的文件系统中(例如HDFS), 所以会产生数据的复制备份, 磁盘的I/O以及数据的序列化, 所以这些框架在遇到需要在多个计算之间复用中间结果的操作时会非常的不高效.

而这类操作是非常常见的, 例如迭代式计算, 交互式数据挖掘, 图计算等.

认识到这个问题后, 学术界的 AMPLab 提出了一个新的模型, 叫做 RDDs.

RDDs 是一个可以容错且并行的数据结构, 它可以让用户显式的将中间结果数据集保存在内中, 并且通过控制数据集的分区来达到数据存放处理最优化.

同时 RDDs 也提供了丰富的 API 来操作数据集.

后来 RDDs 被 (加州大学伯克利分校 AMPLab 开创)AMPLab 在一个叫做 Spark 的框架中提供并开源.

Spark的特点(优点)

  • 速度快
    • Spark 的在内存时的运行速度是 Hadoop MapReduce 的100倍
    • 基于硬盘的运算速度大概是 Hadoop MapReduce 的10倍
    • Spark 实现了一种叫做 RDDs 的 DAG 执行引擎, 其数据缓存在内存中可以进行迭代处理
  • 易用
    • Spark 支持 Java, Scala, Python, R, SQL 等多种语言的API.
    • Spark 支持超过80个高级运算符使得用户非常轻易的构建并行计算程序
    • Spark 可以使用基于 Scala, Python, R, SQL的 Shell 交互式查询.
  • 通用
    • Spark 提供一个完整的技术栈, 包括 SQL执行, Dataset命令式API, 机器学习库MLlib, 图计算框架GraphX, 流计算SparkStreaming
    • 用户可以在同一个应用中同时使用这些工具, 这一点是划时代的
  • 兼容
    • Spark 可以运行在 Hadoop Yarn, Apache Mesos, Kubernets, Spark Standalone等集群中
    • Spark 可以访问 HBase, HDFS, Hive, Cassandra 在内的多种数据库

Spark 组件

Spark 最核心的功能是 RDDs, RDDs 存在于 spark-core 这个包内, 这个包也是 Spark 最核心的包.

同时 Spark 在 spark-core 的上层提供了很多工具, 以便于适应不

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值