18、如果内存无限大,磁盘还有用武之地吗?

你好,我是吴磊。 我们都知道,Spark的优势在于内存计算。一提到“内存计算”,我们的第一反应都是:执行效率高!但如果听到“基于磁盘的计算”,就会觉得性能肯定好不到哪儿去。甚至有的人会想,如果Spark的内存无限大就好了,这样我们就可以把磁盘完全抛弃...

Spark性能调优实战

19、如何有效降低网络开销

你好,我是吴磊。 在平衡不同硬件资源的时候,相比CPU、内存、磁盘,网络开销无疑是最拖后腿的那一个,这一点在处理延迟上表现得非常明显。 下图就是不同硬件资源的处理延迟对比结果,我们可以看到最小的处理单位是纳秒。你可能对纳秒没什么概念,所以为了方便对比...

Spark性能调优实战

20、RDD和DataFrame

你好,我是吴磊。 从今天开始,我们进入Spark SQL性能调优篇的学习。在这一篇中,我会先带你学习Spark SQL已有的优化机制,如Catalyst、Tungsten这些核心组件,以及AQE、DPP等新特性。深入理解这些内置的优化机制,会让你在开...

Spark性能调优实战

21、你的SQL语句是怎么被优化的-上

你好,我是吴磊。 上一讲我们说,Spark SQL已经取代Spark Core成为了新一代的内核优化引擎,所有Spark子框架都能共享Spark SQL带来的性能红利,所以在Spark历次发布的新版本中,Spark SQL占比最大。因此,Spark ...

Spark性能调优实战

22、你的SQL语句是怎么被优化的-下

你好,我是吴磊。 上一讲我们说了,Catalyst优化器的逻辑优化过程包含两个环节:逻辑计划解析和逻辑计划优化。逻辑优化的最终目的就是要把Unresolved Logical Plan从次优的Analyzed Logical Plan最终变身为执行高...

Spark性能调优实战

23、Tungsten给开发者带来了哪些福报

你好,我是吴磊。 通过前两讲的学习,我们知道在Spark SQL这颗智能大脑中,“左脑”Catalyst优化器负责把查询语句最终转换成可执行的Physical Plan。但是,把Physical Plan直接丢给Spark去执行并不是最优的选择,最优...

Spark性能调优实战