spark介绍

1 spark介绍

  • 大数据处理的统一分析引擎
    • 统一:
      • 对任意类型的数据进行自定义计算
        • 结构化、半结构化、非结构化
      • 支持Python、Java、Scala、R、SQL等多种语言
  • spark介绍_第1张图片
    • ——》借鉴了MapReduce的分治思想。
      • 保留了分布式并行计算的优点
      • 同时改进了其明显的缺陷:磁盘、内存不断地写入写出数据
        • ——>Spark中,中间数据存储在内存中。
        • ——>提高了运行速度
      • 同时Spark提供了丰富的操作数据的API
        • ——>提高了开发速度

1.1 Spark框架

  • Spark Core:Spark的核心
    • 以RDD(resilent distributed  dataset,弹性分布式数据集)为数据抽象
    • 提供python,java,scala,R语言的API
    • 海量离线数据的批处理计算
  • SparkSQL
    • 基于SparkCore之上
    • 结构化数据的处理模块
    • 以SQL语言对数据进行处理
    • StructuredStreaming
      • 以SparkSQL为基础,进行数据的流式计算
  • SparkStreaming
    • 以SparkCore为基础,进行数据的流式计算
    • 有一定的缺陷:并不是完整的流式计算,而是以“微批”的模式
    • 早于StructuredStreaming【如果需要使用流式计算的话,推荐StructuredStreaming】
  • MLib
    • 以SparkCore为基础,进行机器学习计算
    • 内置了大量机器学习库和API算法
  • GraphX
    • 以SparkCore为基础,进行图计算
    • 提供了大量图计算API

2 Spark VS Hadoop 

Hadoop Spark
类型 基础平台(包括计算、存储、调度) 纯分布式计算工具
场景 海量数据的批处理(磁盘迭代计算)

海量数据的批处理(内存迭代计算、交互式计算)

海量数据的流计算

价格 对机器要求低,因而较为偏移 对内存有要求,因而较为昂贵
编程范式

MapReduce API只有Map和Reduce两个算子,较为底层,算法适应性差(只能按照Map+Reduce的结构编写)

API较为顶层,方便使用
数据存储结构 MapReduce中间计算结果再HDFS磁盘上, 延迟大

中间计算结果在内存中,延迟小

spark介绍_第2张图片

运行方式 任务以进程方式维护,任务启动慢

任务以线程方式维护,任务启动块

任务可批量创建,并行能力高

2.1 两者概念的对照

spark介绍_第3张图片

Spark基础入门-第一章-1.1-Spark简单介绍_哔哩哔哩_bilibili

你可能感兴趣的:(计算机其他,spark,大数据,分布式)