- 博客(8)
- 收藏
- 关注
原创 Scala中模式匹配能匹配一些什么样的模式?
使用 “_”表示占位,一般用于模式匹配的最后一行,当上述所有数据都无法匹配时使用。包括常量变量及常量字面量,包括字符串、字符、数字、布尔值等。用于匹配固定的字符串和其他数据类型,与if差别不大。可搭配构造器模式,获取多个不同的结果。可以匹配数组、列表、元组等数据结构。主要就是将一个变量传给另一个变量。判断对象是否时某种类型。
2023-12-05 17:24:51
368
原创 Spark Shuffle
shuffle-洗牌,从字面意义来说,shuffle就是将原本的数据基于另一种规则重新排序。Spark在DAG阶段以Shuffle为界,划分stage,前一个stage称为为map task,后一个称为Reduce task。Map Task将计算结果分成多份,每一份对应到Reduce Task的每个partition中,并将其临时写到磁盘,此过程为Shuffle Write,而Reduce Task通过网络拉取Map Task 的指定分区结果数据,此过程称为Shuffle Read。
2023-08-20 11:43:49
134
1
原创 Spark部署模式及任务运行模式与流程
cluster与client模式主要区别是,client模式Driver启动在Client服务器上,而Cluster模式则是启动在任意工作节点上;cluster能解决流量激增的问题,所以一般生成环境推荐使用。
2023-08-13 18:11:59
139
1
原创 Spark Application、Job、Stage、Task有什么关系
一个Application由多个job组成,一个job由多个stage组成,一个stage由task组成。
2023-08-12 18:48:49
278
1
原创 spark常用算子
其返回的是<k, Iterable<v>>类型的RDD,这种方式会导致在处理大量数据时,由于将相同的键的键值对放在同一分区,导致该分区的数据会很大,从而影响性能。MEMORY_ONLY:将RDD以反序列化的Java对象的形式存储在JVM中,在内存不够时,部分数据不会被缓存,每次使用时需要重新计算,默认级别。MEMORY_AND_DISK:将RDD以反序列化的Java对象的形式存储在JVM中,在内存不够用时,将未缓存的数据分区存储在磁盘中。按照相同的key生成新的RDD的分区数为大的RDD的分区数。
2023-08-11 17:37:29
141
1
原创 谈谈对Spark RDD的理解
RDD(Resilient Distributed Datasets)是一个不可变的,可分区,可并行操作的数据结构。由于RDD不可变,所以其更新数据是只能创建新的RDD对象。重算子RDD数据时需要重算每个父RDD的每个分区的所有数据,这些重算的结果可能只有一部分属于这个字RDD。窄依赖:一对一或者多对一,即一个父RDD的一个分区仅仅只被一个子RDD的一个分区使用。宽依赖:父RDD的每个分区都有可能被子RDD的多个分区使用。重算子RDD数据时,只需要计算父RDD对应分区数据即可。
2023-08-06 17:36:18
205
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人