陕西省住房和城乡建设厅网站首页,网站做多少外链,穆棱seo,做美容仪器的网站实训笔记——Spark计算框架 Spark计算框架一、Spark的概述二、Spark的特点三、Spark的安装部署#xff08;安装部署Spark的Cluster Manager-资源调度管理器的#xff09;3.1 本地安装--无资源管理器3.2 Spark的自带独立调度器Standalone3.2.1 主从架构的软件3.2.2 Master/wor… 实训笔记——Spark计算框架 Spark计算框架一、Spark的概述二、Spark的特点三、Spark的安装部署安装部署Spark的Cluster Manager-资源调度管理器的3.1 本地安装--无资源管理器3.2 Spark的自带独立调度器Standalone3.2.1 主从架构的软件3.2.2 Master/worker3.2.3 伪分布、完全分布、HA高可用 3.3 Hadoop的YARN3.4 Apache的Mesos3.5 K8S容器技术 四、Spark程序的部署运行五、Spark集群运行中三个核心角色5.1 Driver驱动程序5.2 Cluster Manager资源管理器5.3 Executor执行器 六、Spark的核心基础Spark Core6.1 Spark Core中最核心的有两个概念6.1.1 SparkContext6.1.2 RDD 6.2 RDD的属性RDD具备的一些特征6.2.1 一组分区一组切片6.2.2 一个计算每一个分区切片数据的compute函数6.2.3 一个用来记录RDD依赖关系的列表6.2.4 一个分区机制RDD必须得是键值对类型的RDD6.2.5 一个用来记录分区位置的列表 6.3 RDD的弹性的体现6.3.1 存储的弹性6.3.2 计算的弹性6.3.3 容错的弹性6.3.4 分片的弹性 6.4 RDD的特点6.4.1 分区6.4.2 只读6.4.3 依赖6.4.4 缓存6.4.5 检查点 6.5 RDD的分类6.6 RDD的编程6.6.1 RDD的创建操作6.6.2 RDD的转换操作转换算子 Spark计算框架
一、Spark的概述
Spark是一个分布式的计算框架是Hadoop的MapReduce的优化解决方案。Hadoop的MR存在两大核心问题1、无法进行迭代式计算 2、MR程序是基于磁盘运算运算效率不高
Spark主要解决了Hadoop的MR存在的问题Spark是基于内存运算的一种迭代式计算框架
Spark还有一个思想 one stack to rule them all(一栈式解决方案)Spark内置了很多子组件子组件可以应用于不同的计算场景下Spark SQL结构化数据查询、Spark Streaming准实时计算、Spark MLlib算法、Spark GraphX图计算、Spark R以上这些子组计都是基于Spark Core开发的。
Spark之所以可以实现基于内存的迭代式计算主要也是因为Spark Core中的一个核心数据抽象RDD
二、Spark的特点
计算快速易用通用兼容
三、Spark的安装部署安装部署Spark的Cluster Manager-资源调度管理器的
3.1 本地安装–无资源管理器
3.2 Spark的自带独立调度器Standalone
3.2.1 主从架构的软件
3.2.2 Master/worker
3.2.3 伪分布、完全分布、HA高可用
3.3 Hadoop的YARN
3.4 Apache的Mesos
3.5 K8S容器技术 【注意】我们在安装部署Spark的资源管理器的同时也可以安装一个Spark的job history 四、Spark程序的部署运行
Spark部署运行和MR程序的部署运行方式一致的需要将我们编写的Spark程序打包成为一个jar包放到我们的Spark集群中然后通过Spark相关命令启动运行Spark程序即可
spark-submit --class 全限定类名 --master 运行的资源管理器 --deploy-mode 部署运行的模式 --num-executors 只在yarn模式下使用 指定executor的数量 --executor-cores 指定每一个executor具备多少个CPU内核一个内核可以运行一个TASK --executor-memory 每一个executor占用的内存 jar包路径 main函数的args参数列表五、Spark集群运行中三个核心角色
5.1 Driver驱动程序
5.2 Cluster Manager资源管理器
5.3 Executor执行器
六、Spark的核心基础Spark Core
Spark Core是Spark计算框架的核心基础Spark中子组件都是基于Spark Core封装而来的。
Spark Core中包含了Spark的运行调度机制、Spark的迭代式计算、基于内存的运算机制
6.1 Spark Core中最核心的有两个概念
6.1.1 SparkContext
SparkContextSpark的上下文对象Spark程序的提交运行任务分配等等都是由SparkContext来完成的。
6.1.2 RDD
RDD也是Spark最核心最重要的概念也是Spark中最基础的数据抽象spark处理的所有数据都会封装称为RDD然后进行处理
6.2 RDD的属性RDD具备的一些特征
6.2.1 一组分区一组切片
6.2.2 一个计算每一个分区切片数据的compute函数
6.2.3 一个用来记录RDD依赖关系的列表
6.2.4 一个分区机制RDD必须得是键值对类型的RDD
6.2.5 一个用来记录分区位置的列表
6.3 RDD的弹性的体现
6.3.1 存储的弹性
6.3.2 计算的弹性
6.3.3 容错的弹性
6.3.4 分片的弹性
6.4 RDD的特点
6.4.1 分区
6.4.2 只读
6.4.3 依赖 宽依赖父RDD的一个分区数据被子RDD的多个分区同时使用一般在shuffle算子中才会出现 窄依赖父RDD的分区数据只能给子RDD的一个分区 依赖是Spark程序划分stage的核心依据stage划分规则是从上一个宽依赖算子到下一个宽依赖算子之间的操作都属于同一个stage.
6.4.4 缓存
6.4.5 检查点
6.5 RDD的分类
RDD数据集内部可以存放各种各样的数据类型根据存储的数据类型不同将RDD分为两类数值类型的RDDRDD、键值对类型的RDDPairRDD
数值类型的RDD存放的数据类型可以是任何类型包括键值对类型 RDD[String]、RDD[People]
键值对类型的RDD指的是数据集中存放的数据类型是一个二元组 是一种比较特殊的数值类型的RDD RDD[(String,Int)]、RDD[(Int,(String,Int))],
键值对类型的RDD有它自己独特的一些算子操作同时键值对类型的RDD可以使用数值类型RDD的所有操作
6.6 RDD的编程
在Spark中对数据操作其实就是对RDD的操作对RDD的操作无外乎三种1、创建RDD 2、从已有的RDD转换得到一个新的RDD 3、从已有的RDD得到相应的结果
RDD的编程方式主要分为两种命令行编程方式spark-shell–数据科学、算法研究、API编程方法数据处理 java scala python R
6.6.1 RDD的创建操作
将数据源的数据转换称为Spark中的RDDRDD的创建主要分为三种1、从外部存储设备创建RDDHDFS、Hive、HBase、Kafka、本地文件系统…2、Scala|Java集合中创建RDD 3、从已有的RDD转换成为一个新的RDDRDD的转换算子 从集合中创建RDD 函数名说明parallelize(Seq[T]num)makeRDD(Seq[T],num)底层就是parallelize函数的实现了makeRDD(Seq[(T, Seq[String])])这种方式创建的RDD是带有分区编号的 集合创建的RDD的分区数就是指定的分区数 1~2都可以传递一个第二个参数第二个参数代表的是RDD的并行度RDD的分区数默认分区数就是master中设置的cpu核数 从外部存储创建RDD
textFile()
wholeTextFile
6.6.2 RDD的转换操作转换算子
RDD之所以可以实现迭代式操作就是因为RDD中提供了很多算子算子之间进行操作时会记录算子之间的依赖关系
RDD中具备一个转换操作的算子转换算子是用来从一个已有的RDD经过某种操作得到一个新的RDD的转换算子是惰性计算规则只有当RDD遇到行动算子转换算子才会去执行。 算子就是Spark已经给我们封装好的一些计算规则只不过这些计算规则内部还需要传入计算逻辑代码层面上算子就是需要传入函数的函数。Spark提供了80个算子。 数值型RDD的转换算子通用算子
函数名说明map(f:TU)算子–一对一算子mapPartitions(f:Iterator[T]Iterator[U])算子—一对一算子一个分区的数据统一执行一次map操作mapPartitionsWithIndexf:(Index,Iterator[T])Iterator[U]一对一算子和mapPartitions算子的逻辑一模一样的只不过就是多了一个分区编号。filter(f:TBoolean)算子—过滤算子对原有RDD的每一个算子应用一个f函数如果函数返回true那么数据保留如果返回false那么数据舍弃
键值对类型RDD的转换算子 文章转载自: http://www.morning.rjqtq.cn.gov.cn.rjqtq.cn http://www.morning.lclpj.cn.gov.cn.lclpj.cn http://www.morning.wypyl.cn.gov.cn.wypyl.cn http://www.morning.hxpsp.cn.gov.cn.hxpsp.cn http://www.morning.rnzwh.cn.gov.cn.rnzwh.cn http://www.morning.qcsbs.cn.gov.cn.qcsbs.cn http://www.morning.czcbl.cn.gov.cn.czcbl.cn http://www.morning.zpjhh.cn.gov.cn.zpjhh.cn http://www.morning.pmdzd.cn.gov.cn.pmdzd.cn http://www.morning.mmplj.cn.gov.cn.mmplj.cn http://www.morning.nptls.cn.gov.cn.nptls.cn http://www.morning.lhldx.cn.gov.cn.lhldx.cn http://www.morning.zmtrk.cn.gov.cn.zmtrk.cn http://www.morning.mltsc.cn.gov.cn.mltsc.cn http://www.morning.brcdf.cn.gov.cn.brcdf.cn http://www.morning.wnbpm.cn.gov.cn.wnbpm.cn http://www.morning.brjq.cn.gov.cn.brjq.cn http://www.morning.yrnrr.cn.gov.cn.yrnrr.cn http://www.morning.rnkq.cn.gov.cn.rnkq.cn http://www.morning.hxhrg.cn.gov.cn.hxhrg.cn http://www.morning.pnntx.cn.gov.cn.pnntx.cn http://www.morning.wgkz.cn.gov.cn.wgkz.cn http://www.morning.cbtn.cn.gov.cn.cbtn.cn http://www.morning.cpmwg.cn.gov.cn.cpmwg.cn http://www.morning.sgbsr.cn.gov.cn.sgbsr.cn http://www.morning.mrxqd.cn.gov.cn.mrxqd.cn http://www.morning.tbcfj.cn.gov.cn.tbcfj.cn http://www.morning.xkjrs.cn.gov.cn.xkjrs.cn http://www.morning.dwmtk.cn.gov.cn.dwmtk.cn http://www.morning.rjkfj.cn.gov.cn.rjkfj.cn http://www.morning.lqrpk.cn.gov.cn.lqrpk.cn http://www.morning.thxfn.cn.gov.cn.thxfn.cn http://www.morning.cnwpb.cn.gov.cn.cnwpb.cn http://www.morning.nbgfk.cn.gov.cn.nbgfk.cn http://www.morning.zmyhn.cn.gov.cn.zmyhn.cn http://www.morning.qsy40.cn.gov.cn.qsy40.cn http://www.morning.hxftm.cn.gov.cn.hxftm.cn http://www.morning.ai-wang.cn.gov.cn.ai-wang.cn http://www.morning.zqdzg.cn.gov.cn.zqdzg.cn http://www.morning.hrzhg.cn.gov.cn.hrzhg.cn http://www.morning.wwkdh.cn.gov.cn.wwkdh.cn http://www.morning.qkzdc.cn.gov.cn.qkzdc.cn http://www.morning.cdygl.com.gov.cn.cdygl.com http://www.morning.grwgw.cn.gov.cn.grwgw.cn http://www.morning.jqpq.cn.gov.cn.jqpq.cn http://www.morning.fcftj.cn.gov.cn.fcftj.cn http://www.morning.c7500.cn.gov.cn.c7500.cn http://www.morning.xqspn.cn.gov.cn.xqspn.cn http://www.morning.hwlmy.cn.gov.cn.hwlmy.cn http://www.morning.tdttz.cn.gov.cn.tdttz.cn http://www.morning.jwtwf.cn.gov.cn.jwtwf.cn http://www.morning.ssqrd.cn.gov.cn.ssqrd.cn http://www.morning.rfjmy.cn.gov.cn.rfjmy.cn http://www.morning.ndfwh.cn.gov.cn.ndfwh.cn http://www.morning.kxxld.cn.gov.cn.kxxld.cn http://www.morning.kwblwbl.cn.gov.cn.kwblwbl.cn http://www.morning.pghfy.cn.gov.cn.pghfy.cn http://www.morning.ljygq.cn.gov.cn.ljygq.cn http://www.morning.pwhjr.cn.gov.cn.pwhjr.cn http://www.morning.gbfuy28.cn.gov.cn.gbfuy28.cn http://www.morning.ymmjx.cn.gov.cn.ymmjx.cn http://www.morning.nylbb.cn.gov.cn.nylbb.cn http://www.morning.ltrms.cn.gov.cn.ltrms.cn http://www.morning.ndlww.cn.gov.cn.ndlww.cn http://www.morning.nllst.cn.gov.cn.nllst.cn http://www.morning.lwgrf.cn.gov.cn.lwgrf.cn http://www.morning.fxwkl.cn.gov.cn.fxwkl.cn http://www.morning.rbzd.cn.gov.cn.rbzd.cn http://www.morning.fyglr.cn.gov.cn.fyglr.cn http://www.morning.cbczs.cn.gov.cn.cbczs.cn http://www.morning.synkr.cn.gov.cn.synkr.cn http://www.morning.qkpzq.cn.gov.cn.qkpzq.cn http://www.morning.tnjkg.cn.gov.cn.tnjkg.cn http://www.morning.dxrbp.cn.gov.cn.dxrbp.cn http://www.morning.qsmch.cn.gov.cn.qsmch.cn http://www.morning.rkdnm.cn.gov.cn.rkdnm.cn http://www.morning.madamli.com.gov.cn.madamli.com http://www.morning.pzbjy.cn.gov.cn.pzbjy.cn http://www.morning.mlmwl.cn.gov.cn.mlmwl.cn http://www.morning.tnzwm.cn.gov.cn.tnzwm.cn