流水线计算模式指的是:在同一 Stage 内部,所有算子融合为一个函数,Stage 的输出结果由这个函数一次性作用在输入数据集而产生
来自:04 | DAG与流水线:到底啥叫“内存计算”?
8 人划过
是因为这条建议本身就不对吗?肯定不是。通过对比查询计划,我们能够明显看到 UDF 与 SQL functions 的区别。Spark SQL 的 Catalyst Optimizer 能够明确感知 SQL functions 每一步在做什么,因此有足够的优化空间。相反,UDF 里面封装的计算逻辑对于 Catalyst Optimizer 来说就是个黑盒子,除了把 UDF 塞到闭包里面去,也没什么其他工作可做的。
来自:02 | 性能调优的本质:调优的手段五花八门,该从哪里入手?
5 人划过
随机内存访问会大幅降低 CPU cache 命中率。
来自:23 | 钨丝计划:Tungsten给开发者带来了哪些福报?
3 人划过
数据结构的分发和存储受制于并行,并且是以 Task 为粒度的,因此往往频次过高
来自:12 | 广播变量(一):克制Shuffle,如何一招制胜!
3 人划过
并行度越高,数据的粒度越细,数据分片越多,数据越分散。
来自:14 | CPU视角:如何高效地利用CPU?
3 人划过
也就是说,即便你没有缓存任何 RDD 或是广播变量,Storage Memory 区域的空闲内存也不能用来执行 Shuffle 中的映射、排序或聚合等操作,因此宝贵的内存资源就被这么白白地浪费掉了。
来自:07 | 内存管理基础:Spark如何高效利用有限的内存空间?
3 人划过
RDD 的 4 大属性又可以划分为两类,横向属性和纵向属性。其中,横向属性锚定数据分片实体,并规定了数据分片在分布式集群中如何分布;纵向属性用于在纵深方向构建 DAG,通过提供重构 RDD 的容错能力保障内存计算的稳定性。
来自:03 | RDD:为什么你必须要理解弹性分布式数据集?
3 人划过
4. 按照调度规则决定优先调度哪些任务 / 组;
来自:05 | 调度系统:“数据不动代码动”到底是什么意思?
3 人划过
而且数据分析场景中常见的关联、排序和聚合等操作都会消耗执行内存
来自:09 | 调优一筹莫展,配置项速查手册让你事半功倍!(上)
3 人划过
*精彩内容为该课程各文章中划线次数最多的内容
编辑推荐
讲师的其他课程
包含这门课的学习路径
机器学习工程师
13门课程 37.4w人学习
看过的人还看了