Apache Spark是一个开源集群运算框架,Spark使用了存储器内运算技术,能在数据尚未写入硬盘时即在存储器内分析运算。
摘要:Structured Streaming 是 Spark 2.x 之后官方主推的流计算引擎,它把"流"抽象成一张无限追加的表,让你用写批处理 SQL 的方...
摘要:从敲下 spark-submit 到第一个 Task 在 Executor 上跑起来,中间到底经历了什么?本文以"时间线"的方式,将 Spark 两大调度...
摘要:Spark Master 是 Standalone 模式的"集群大脑"。它管理所有 Worker 的注册与心跳,调度 Driver 和 Applicati...
摘要:如果说 Job 是 Spark 的"任务单",Stage 就是"施工阶段",Task 就是每个工人的"具体活"。一个 Job 被 DAGScheduler...
摘要:为什么 map().filter() 可以在一个 Stage 内完成,而 reduceByKey() 必须切分新的 Stage?为什么 Shuffle 是...
摘要:这是 Spark 部署模式系列的终章。如果说 Client 模式是你手中的风筝,Cluster 模式就是放飞到云端的无人机——spark-submit 提...
摘要:你是否清楚一个 Spark 应用中到底有几个 Job?为什么 .collect() 会触发 Job 而 .map() 不会?Application、Job...
摘要:Spark 分布式计算的本质是"数据分发 + 并行处理"。但在 Executor 之间共享变量时,常规做法(如闭包引用)会导致严重的性能问题——大变量重复...
摘要:为什么你的 Spark 任务 CPU 利用率只有 30%?为什么有些 Task 1 秒跑完有些要 10 分钟?这背后都是并行度(Partition 数 =...
摘要:spark-submit 是用 Spark 的第一道门槛。一条命令背后隐藏着 Driver 位置、资源分配策略、参数优先级、Standalone vs Y...
摘要:如果 Driver 是 Spark 的大脑,Executor 就是它的计算引擎。一个 Executor 是一个独立的 JVM 进程,内部通过固定大小的线程...
摘要:YARN-Cluster 是生产环境中 Spark 应用的终极部署方案。它的核心特征是——ApplicationMaster 不再只是资源代理,而是承担完...
摘要:如果说 Client 模式是开发者的"调试利器",那么 Cluster 模式就是生产环境的"定海神针"。Driver 不再运行在你的笔记本上,而是被 Ma...
摘要:如果把 Spark 应用比作一个人,Driver 就是它的大脑。从 spark-submit 敲下回车的那一刻起,SparkContext 初始化、DAG...
你手里是一个A类型,但当前位置需要B类型。Java会直接编译报错。Scala会多问一句:作用域里,有没有一个能把A变成B的函数?如果有,我帮你自动调用它。
上一篇讲了隐式值——"被编译器自动取用的值"。这篇讲它的另一半:隐式参数——"方法签名里,声明由编译器自动填充的参数"。
写一个方法,有些参数你不想到处手动传——比如线程池、配置、序列化器、执行上下文。它们在一个上下文里是固定的,每次调用都显式写一遍,既啰嗦又容易传错。
Java里接口(interface)和抽象类(abstract class)是两个东西:接口只能定义契约,抽象类才能承载实现。而且一个类只能继承一个抽象类。
摘要:Spark Web UI 是监控、调试和性能调优的核心入口。本文从架构全景出发,逐一详解 7 大核心 Tab(Jobs/Stages/Storage/Ex...
摘要:你有没有好奇过——为什么 --master spark:// 和 --master yarn 切换如此丝滑?这背后是 Spark 设计中最精妙的抽象层之一...