Spark的原理学习记录

目录:
SparkCore架构
Spark架构组成

数据多了,因此需要集群,数据都是存放在HDFS
若是在磁盘处理,则使用Hadoop中的MapReduce
若是在内存处理,则使用Spark…
因此Spark的原理就是在内存处理时代替MapReduce,这里介绍Spark的工作原理。
# 欢迎使用Markdown编辑器
你好! 这是你第一次使用 **Markdown编辑器** 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
Processing Engine:

  • Spark Core:包含Spark的基本功能;尤其是定义RDD的API、操作以及这两者上的动作。其他Spark的库都是构建在RDD和Spark Core之上的

Access and Interface:

  • Spark Streaming:对实时数据流进行处理和控制。Spark Streaming允许程序能够像普通RDD一样处理实时数据
  • Spark SQL:提供通过Apache Hive的SQL变体Hive查询语言(HiveQL)与Spark进行交互的API。每个数据库表被当做一个RDD,Spark SQL查询被转换为Spark操作。
  • GraphX:控制图、并行图操作和计算的一组算法和工具的集合。GraphX扩展了RDD API,包含控制图、创建子图、访问路径上所有顶点的操作
  • MLlib:一个常用机器学习算法库,算法被实现为对RDD的Spark操作。这个库包含可扩展的学习算法,比如分类、回归等需要对大量数据集进行迭代的操作。

**Spark架构组成**
并行化是将工作负载分在不同线程或不同节点上执行的子任务
Spark的工作负载的划分由RDD分区决定。在这里插入图片描述

Spark工作流程图

在这里插入图片描述
1、将程序提交至Master(Master组成:RDD graph,Scheduler,Block Tracker以及Shuffle Tracker)
2、启动RDD Graph就是DAG,它会提交给Task Scheduler任务调度器等待调度执行
3、具体执行时,Task Scheduler会把任务提交到Worker节点上
4、Block Tracker用于记录计算数据在Worker节点上的块信息
5、Shuffle Blocker用于记录RDD在计算过程中遇到的Shuffle过程时会进行物化,Shuffle Tracker用于记录这些物化的RDD存放信息

RDD Graph

在这里插入图片描述
一个RDD由4个分区组成,每个圆柱框都是一个Partition。
每个Partition分配一个任务来执行。绿色的矩形表示实施RDD操作后的数据集

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值