spark端口

8080 spark集群web ui端口

4040 sparkjob监控端口

18080 jobhistory端口

 

spark有哪些组件

master:管理集群和节点,不参与计算。

worker:计算节点,进程本身不参与计算,和master汇报。

Driver:运行程序的main方法,创建spark context对象。

spark context:控制整个application的生命周期,包括dagsheduler和task scheduler等组件。

client:用户提交程序的入口。

 

Spark分区算法

决定多少分区

每个文件都会循环处理一次{

每个块size/总共块size 看是否大于 1.1

> 1.1 分区数-1

< 1.1 分区数+1

}

 

spark中的RDD是什么,有哪些特性?

 

1.A list of partitions:一个分区列表,RDD中的数据都存储在一个分区列表中

 

2.A function for computing each split:作用在每一个分区中的函数

 

3.A list of dependencies on other RDDs:一个RDD依赖于其他多个RDD,这个点很重要,RDD的容错机制就是依据这个特性而来的

 

4.Optionally,a Partitioner for key-value RDDs(eg:to say that the RDD is hash-partitioned):可选的,针对于kv类型的RDD才有这个特性,作用是决定了数据的来源以及数据处理后的去向

 

5.可选项,数据本地性,数据位置最优

 

 

spark的有几种部署模式,每种模式特点

本地模式

Spark不一定非要跑在hadoop集群,可以在本地,起多个线程的方式来指定。方便调试,本地模式分三类

local:只启动一个executor

local[k]: 启动k个executor

local:启动跟cpu数目相同的 executor

standalone模式

分布式部署集群,自带完整的服务,资源管理和任务监控是Spark自己监控,这个模式也是其他模式的基础

Spark on yarn模式

分布式部署集群,资源和任务监控交给yarn管理

粗粒度资源分配方式,包含cluster和client运行模式

cluster 适合生产,driver运行在集群子节点,具有容错功能

client 适合调试,dirver运行在客户端

Spark On Mesos模式

 

(map 、 mappartition)(transformation) 、(foreach、foreachprtition )(action类型算子)

1: map 是作用到RDD每个元素都遍历下,如果是持久化数据需要创建连接,就会创建很多连接。

2:mappartition 是作用到每个分区遍历一次,相对map更加合理,但是有可能单个partition过大

会导致资源不被释放,这个时候莫慌指定partition数量即可。

3: foreach 同上就是算子类型不一样

4: foreachpartition 同上就是算子类型不一样

 

 groupByKey 与 reduceByKey

1:算子都适用于Transformation类型算子,都会产生Shuffle (调优可以缓存产生Shuffle的数据),groupByKey不会在RDD局部聚合产生的数据也是CompactBuffer,reduceByKey在RDD先局部聚合在全局聚合。

2:groupByKey 比 reduceByKey shuffer数据大小要大,所以进来选择reduceByKey。

SPARK知识点汇总

colleat(action算子)

1: 会把结果加载到内存里 慎用,产生OOM

2:如果一定想看看colleat().take(100) 来看看得了,或者直接用saveAsTextFile("hdfs://......")再看。

 

coalesce 与 repartition的有区别

1:coalesce 可以根据传入的分区数 把已有的分区数压缩并且不产生shuffer,如果增加分区数参数二传递true就会产生shuffer。

2: repartition 底层默认调用coalesce 默认传递true,所以会传输shuffer

 

cache 与 persist的区别

1:cache 默认调用了 persist,persist默认调用了persist(MEMORY_ONLY)

spark 执行流程SPARK知识点汇总

Spark 划分stage原理

SPARK知识点汇总

Spark RDD生成到task提交的四个阶段

SPARK知识点汇总

相关文章:

  • 2021-10-29
  • 2019-06-18
  • 2021-12-06
  • 2021-10-08
  • 2021-10-16
  • 2018-06-19
  • 2019-12-04
  • 2021-09-06
猜你喜欢
  • 2021-11-08
  • 2021-06-22
  • 2017-12-02
  • 2021-11-04
  • 2021-11-04
  • 2021-10-16
  • 2021-12-29
  • 2021-08-27
相关资源
相似解决方案