Apache Spark是一个开源集群运算框架,Spark使用了存储器内运算技术,能在数据尚未写入硬盘时即在存储器内分析运算。
摘要:这是 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 设计中最精妙的抽象层之一...
Paimon 做了一件别的湖格式不太敢做的事,它把 RocksDB 那套 LSM 树整个搬进了湖里。
摘要:YARN-Client 是生产环境中使用最广泛的 Spark 部署模式。它的独特之处在于——Driver 运行在提交客户端,而 ApplicationMa...
摘要:Spark 的部署模式是面试和实际生产中最高频的话题之一,而 Standalone-Client 模式更是 90% 的开发者最常用却对其底层一知半解的模式...
Spark 的诞生源于一个朴素的问题:MapReduce 做迭代计算为什么这么慢?
摘要:JDK → Scala → Spark → Maven → IDEA 全链路安装配置,完整 pom.xml 可直接复制使用,WordCount 源码逐行解...