spark资源调度和linux安装spark和spark算子补充

一个task对应一个partition,一个job(工作)对应多个task(任务),相当于一个job处理多个partition
spark分为资源调度和任务调度
一、spark资源调度过程(基于standalone资源调度)
1.启动相应的资源(./start -all.sh),启动后所有的worker会向master汇报自己的资源情况。这时master会清楚所有的资源状况
2.var conf = new SparkConf().setMaster("local").setAppName("wc")
  var sc = new SparkContext(conf)
  执行spark-submit或者在本地运行local App的测试,当代码执行到这两行的时候,driver启动
3.driver向master申请执行本次所需要的资源。
4.masrer收到资源请求后会随机找一台worker,让driver寻找本个请求需要的资源列表信息。
5.worker查找完相应的资源列表信息后,将完成查找的命令发送给master,master告诉其将资源地址信息反向发送给driver

6.driver收到资源信息后资源调度流程结束,准备开始进行任务调度。

二、linux安装spark
1.saprk的jar包上传到hdfs中,解压修改相应的配置文件
三、spark算子
1.控制算子分类:
1.1 cache算子  
作用:将数据持久化到内存中
特点:1.1:cache算子是一个延迟执行的算子
   1.2:cache算子使用的时候,不能再使用cache算子后直接跟一个action类的算子来触发执行
   1.3:cache算子在使用之后,必须有一个变量来接收cache算子的执行结果
   正确的代码 :var tmp =rdd.cache();tmp.count()
   错误的代码 :var tmp =rdd.cache().count()
   cache算子和persist算子的区别或者关系
cache算子是persist算子的一个子集
1.2 persist算子(常用)
   cache算子和persist算子的区别或者关系
   persist算子包含cache算子
作用:将数据持久化到内存或者磁盘中
持久化级别有五个参数:disk boolean类型是否使用磁盘,memory boolean类型是否使用内存,offHeap boolean类型是否使用堆外内存,deserialize boolean类型是否不序列化,replication int类型默认备份有几个
特点:persist算子也是延迟执行的
   建议persist算子后不要立即跟一个action类的算子
1.3 checkpoint算子
出现的原因  是因为persist算子在源码中最多的备份是2个,处于安全考虑,产生了checkpoint算子
checkpoint算子使用:
   1.设置一下checkpoint存储数据的地方 (hdfs、本地磁盘等)
  代码: sc.setCheckpointDir(path) 
   2.对想要进行checkpoint的数据进行调用checkpoint
代码:  rdd.checkpoint()
checkpoint算子的处理流程:
   1.当一个程序执行完成后,程序开始对这个程序的rdd进行回溯(从最后一个rdd进行回溯)
   2.在回溯的过程中,对有checkpoint标识的rdd进行标记
   3.在整个程序回溯完成后,会开启另外一个线程进行以下的操作               
3.1:将有checkpoint标识的rdd进行依赖关系的切断(切换标有checkpoint的rdd的有所依赖关系)
3.2:对有checkpoint标识的rdd进行存储,将该rdd中的数据存储到指定的磁盘中
2.转换算子补充:
2.1 groupByKey算子:根据key来进行分组
2.2 distinct算子:去重,相当于sortBy算子+groupByKey算子
2.3 join算子:相当于sql中的join,两者相关联的结合到一块
3.广播变量:将变量定义在driver端,当我们的task任务在使用的时候带到workerzhong进行计算,为了避免由于需要使用一些公共变量或集合,而导致内存资源浪费,我们通过一个算子(sc.broadcast)将该变量变成广播变量

获取广播变量的值broadcast.value();原理如下图

4.累加器:sc.accumulator(0)设置累加器的初始值,在读取文件的时候,.add(1)读取一行加一行,在赋值的时候中间不能随意输出或更改值

猜你喜欢

转载自blog.csdn.net/qq_41950069/article/details/80814469