首页
学习
活动
专区
圈层
工具
发布

#spark

Apache Spark是一个开源集群运算框架,Spark使用了存储器内运算技术,能在数据尚未写入硬盘时即在存储器内分析运算。

Structured Streaming 结构化流概述:把流数据当作一张无限增长的表

starzy

摘要:Structured Streaming 是 Spark 2.x 之后官方主推的流计算引擎,它把"流"抽象成一张无限追加的表,让你用写批处理 SQL 的方...

3710

Spark 核心之资源调度以及任务调度过程详解

starzy

摘要:从敲下 spark-submit 到第一个 Task 在 Executor 上跑起来,中间到底经历了什么?本文以"时间线"的方式,将 Spark 两大调度...

5110

Spark 核心之 Master 原理剖析

starzy

摘要:Spark Master 是 Standalone 模式的"集群大脑"。它管理所有 Worker 的注册与心跳,调度 Driver 和 Applicati...

5910

Spark 核心之 Stage 和 Task 原理剖析

starzy

摘要:如果说 Job 是 Spark 的"任务单",Stage 就是"施工阶段",Task 就是每个工人的"具体活"。一个 Job 被 DAGScheduler...

9510

Spark 核心之 RDD 窄依赖与宽依赖详解

starzy

摘要:为什么 map().filter() 可以在一个 Stage 内完成,而 reduceByKey() 必须切分新的 Stage?为什么 Shuffle 是...

7910

Spark 核心之 Cluster 模式提交命令和特点分析

starzy

摘要:这是 Spark 部署模式系列的终章。如果说 Client 模式是你手中的风筝,Cluster 模式就是放飞到云端的无人机——spark-submit 提...

13610

Spark 核心之 Application 和 Job 原理剖析

starzy

摘要:你是否清楚一个 Spark 应用中到底有几个 Job?为什么 .collect() 会触发 Job 而 .map() 不会?Application、Job...

7610

Spark 核心之广播变量、累加器原理深度剖析

starzy

摘要:Spark 分布式计算的本质是"数据分发 + 并行处理"。但在 Executor 之间共享变量时,常规做法(如闭包引用)会导致严重的性能问题——大变量重复...

12010

Spark 核心之 Stage 并行度划分及优化详解

starzy

摘要:为什么你的 Spark 任务 CPU 利用率只有 30%?为什么有些 Task 1 秒跑完有些要 10 分钟?这背后都是并行度(Partition 数 =...

12210

Spark 核心之 Client 模式提交命令和特点分析

starzy

摘要:spark-submit 是用 Spark 的第一道门槛。一条命令背后隐藏着 Driver 位置、资源分配策略、参数优先级、Standalone vs Y...

13810

Spark 核心之 Executor 与线程池原理剖析

starzy

摘要:如果 Driver 是 Spark 的大脑,Executor 就是它的计算引擎。一个 Executor 是一个独立的 JVM 进程,内部通过固定大小的线程...

10310

Spark 核心之 YARN-Cluster 模式:原理、流程与源码级深度拆解

starzy

摘要:YARN-Cluster 是生产环境中 Spark 应用的终极部署方案。它的核心特征是——ApplicationMaster 不再只是资源代理,而是承担完...

12910

Spark 核心之 Standalone-Cluster 模式:原理、流程与源码级深度拆解

starzy

摘要:如果说 Client 模式是开发者的"调试利器",那么 Cluster 模式就是生产环境的"定海神针"。Driver 不再运行在你的笔记本上,而是被 Ma...

10510

Spark 核心之 Driver 原理剖析

starzy

摘要:如果把 Spark 应用比作一个人,Driver 就是它的大脑。从 spark-submit 敲下回车的那一刻起,SparkContext 初始化、DAG...

12010

深入理解Scala隐式函数:自动类型转换

starzy

你手里是一个A类型,但当前位置需要B类型。Java会直接编译报错。Scala会多问一句:作用域里,有没有一个能把A变成B的函数?如果有,我帮你自动调用它。

16110

深入理解Scala隐式参数:上下文流转

starzy

上一篇讲了隐式值——"被编译器自动取用的值"。这篇讲它的另一半:隐式参数——"方法签名里,声明由编译器自动填充的参数"。

13210

深入理解Scala隐式值:编译期自动装配

starzy

写一个方法,有些参数你不想到处手动传——比如线程池、配置、序列化器、执行上下文。它们在一个上下文里是固定的,每次调用都显式写一遍,既啰嗦又容易传错。

14810

深入理解Scala Trait:从接口到可堆叠混入的代码复用单元

starzy

Java里接口(interface)和抽象类(abstract class)是两个东西:接口只能定义契约,抽象类才能承载实现。而且一个类只能继承一个抽象类。

10710

Spark 核心之 Spark-WebUI 详解及日志查看

starzy

摘要:Spark Web UI 是监控、调试和性能调优的核心入口。本文从架构全景出发,逐一详解 7 大核心 Tab(Jobs/Stages/Storage/Ex...

16410

Spark 核心之 ClusterManager 原理剖析

starzy

摘要:你有没有好奇过——为什么 --master spark:// 和 --master yarn 切换如此丝滑?这背后是 Spark 设计中最精妙的抽象层之一...

12510
领券