- 博客(10)
- 收藏
- 关注
原创 Spark3.x指北——4:Spark Streaming
结合我们介绍的准实时、微批次概念,SparkStreaming会将数据流按照更小的时间单位(如3s)划分为多个微批数据,由采集器将这些数据转化为DStream(一系列离散RDD),Driver会基于这些DStream划分stage、job,分发给Executor去做实际的取数据、计算数据的工作。下图是对window操作的一个解析。给定一个由(键,事件)对构成的 DStream,并传递一个指 定如何根据新的事件更新每个键对应状态的函数,它可以构建出一个新的 DStream,其内部数据为(键,状态)对。
2026-03-12 16:15:51
331
原创 Spark3.x指北——3:Spark SQL
但是,随着Spark的发展,对于野心勃勃的Spark团队来说,Shark对于Hive的太多依 赖(如采用Hive的语法解析器、查询优化器等等),制约了Spark的One Stack Rule Them All 的既定方针,制约了Spark各个组件的相互集成,所以提出了SparkSQL项目。因为join是一个代价较大的操作,也可能会产生一个较大的数据 集。尽管这个实例通常是对输入形参的修改,但是我们并不通过修改一个全局的属性来实现分区的aggregate,也就是说旧的缓冲区在旧的状态中是并没有被更改的。
2026-03-10 13:17:58
529
原创 Spark3.x指北——2:Spark Core
但是显然,mapPartitions方法的输出是按分区进行输出,先处理了分区1的(1, 2),再处理分区2的(3, 4),这显然是将整个分区数据全部加载后再进行的处理。但需要注意,shuffle过程会打乱数据的顺序,比如一个RDD(List(1, 2, 3, 4, 5, 6),6)在缩减为2分区时,并不会严格按照(1,2,3)一个分区,(4,5,6)一个分区,而是会随机分配。也就是说,需要先对1进行mapRDD和mapRDD1的所有操作后,才会进行2的操作,然后是3,最后是4。
2026-03-10 10:15:00
602
原创 Spark3.x指北——1:Spark基础概念
Spark 集群的独立部署环境中,不需要依赖其他的资源调度框架,自身就实现了资源调 度的功能,所以环境中还有其他两个核心组件:Master和Worker,这里的Master是一个进 程,主要负责资源的调度和分配,并进行集群的监控等职责,类似于Yarn环境中的RM, 而 Worker 呢,也是进程,一个Worker运行在集群中的一台服务器上,由Master分配资源对 数据进行并行的处理和计算,类似于Yarn环境中NM。接下来,就让咱们走进Spark的世界,了解一下它是如何带领 我们完成数据处理的。
2026-03-09 22:05:43
367
原创 Scala学习笔记(一)——模式匹配
在匹配 对象模式Student(“darren”, 20) 的时候,实际上是在通过 伴生对象Student 调用unapply方法(伴生对象中的方法都需要通过类名调用),将目标对象 student(“darren”, 20) 作为参数传入,即:Student.unapply(student),得到的结果为一个 具有student 属性值的 Some对象 Some(“darren”, 20),然后将这个Some对象与 对象模式Student(“darren”, 20) 进行匹配。就是一个简化后的偏函数。
2025-08-24 16:24:48
843
原创 Redis学习笔记
redis个人学习资料,包括redis基础使用、redis实战应用、redis高级使用、redis源码学习,文中均个人理解,如果存在错误欢迎讨论指出,谢谢大家!
2025-06-12 17:47:39
910
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅