什么是spark?通俗易懂,一文读懂

Spark是什么

官方定义: 定义:*Apache Spark是用于**大规模数据(large-scala data)**处理的**统一(unified)**分析引擎。*

分析引擎(计算引擎): 我们目前接触的引擎有:

  • MapReduce 分布式计算引擎

  • Spark 分布式内存计算引擎

计算引擎: 通用的 可以执行开发人员提供的业务代码的一种框架.

Spark框架中有一个核心的数据结构: RDD

Pandas中的数据结构是DataFrame, 多数API都是针对DF对象来进行的.

同样, Spark的数据结构是RDD对象, 多数API都是针对RDD对象来进行的

RDD对象是一个真正的分布式对象, Pandas的DataFrame则是一个单机的对象.

拓展阅读 Hadoop 和 Spark 对比

HadoopSpark
类型基础平台, 包含计算, 存储, 调度分布式计算工具
场景大规模数据集上的批处理迭代计算, 交互式计算, 流计算
价格对机器要求低, 便宜对内存有要求, 相对较贵
编程范式Map+Reduce, API 较为底层, 算法适应性差RDD组成DAG有向无环图, API 较为顶层, 方便使用
数据存储结构MapReduce中间计算结果在HDFS磁盘上, 延迟大RDD中间运算结果在内存中 , 延迟小
运行方式Task以进程方式维护, 任务启动慢Task以线程方式维护, 任务启动快

Spark四大特点

  • 速度贼快: 比MapReduce 快100倍以上( 基于内存计算 )

  • 易于使用: API 写起来很简单, 和pandas差不多(比pandas还简单)

  • 通用性强: 可用于离线批处理\ SQL处理\ 流计算 \ 机器学习计算\ 图计算

    •  离线批处理(Core)     SQL处理(SparkSQL)

  • 运行方式很多: 可以运行在 YARN \ 可以独立运行(StandAlone) \ 可以运行在云平台上 \ 可以运行在容器集群上 \ 等等等.

Spark框架模块 - 了解

  • SparkCore : Spark的核心模块, 一切Spark的功能最底层由它提供

  • SparkSQL: Spark的结构化数据处理模块, 基于Core

  • SparkStreaming: Spark的流计算模块 基于Core

  • Spark MLib: 机器学习模块. 基于Core

  • Spark GraphX: 图计算模块 基于Core

  • StructuredStreaming: 结构化, 基于SparkSQL模块

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chad__chang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值