摘要:
前言 继基础篇讲解了每个Spark开发人员都必须熟知的开发调优与资源调优之后,本文作为《Spark性能优化指南》的高级篇,将深入分析数据倾斜调优与shuffle调优,以解决更加棘手的性能问题。 数据倾斜调优 调优概述 有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作 阅读全文
摘要:
一、概念 R B Tree,全称是Red Black Tree又称红黑树,它是一种特殊的二叉查找树,红黑树的每个节点上都有存储位表示节点的颜色,可以是红或黑。 二、特性 1. 每个节点或者是红色,或者是黑色 2. 根节点是黑色的 3. 每个叶子节点(NIL)是黑色的。注意:这里的叶子节点,是指为空的 阅读全文
摘要:
系列文章索引: 1. "Spring事务Transactional和动态代理(一) JDK代理实现" 2. "Spring事务Transactional和动态代理(二) cglib动态代理" 3. "Spring事务Transactional和动态代理(三) 事务失效的场景" 一. Spring事务 阅读全文
摘要:
系列文章索引: 1. "Spring事务Transactional和动态代理(一) JDK代理实现" 2. "Spring事务Transactional和动态代理(二) cglib动态代理" 3. "Spring事务Transactional和动态代理(三) 事务失效的场景" 什么是cglib Cg 阅读全文
摘要:
系列文章索引: 1. "Spring事务Transactional和动态代理(一) JDK代理实现" 2. "Spring事务Transactional和动态代理(二) cglib动态代理" 3. "Spring事务Transactional和动态代理(三) 事务失效的场景" 什么是代理 理设计模式 阅读全文
摘要:
一.JVM的原理 Java虚拟机是Java平台的基石,解决了硬件和操作系统的相互独立性。不同平台(Windows,Linux和MacOS)的JVM都是不同的,但是他们都提供了相同的接口。虚拟机可以分为系统虚拟机和程序虚拟机。系统虚拟机就是VMware和VirtualBox这一类的,完全是对物理资源的 阅读全文
摘要:
本文按照如下思维导图组织 1. 栈和局部变量操作 1.1 将常量压入栈的指令 aconst_null 将null对象引用压入栈iconst_m1 将int类型常量-1压入栈iconst_0 将int类型常量0压入栈iconst_1 将int类型常量1压入栈iconst_2 将int类型常量2压入栈i 阅读全文
摘要:
RDD(Resiliennt Distributed Datasets)抽象弹性分布式数据集对于Spark来说的弹性计算到底提现在什么地方? 自动进行内存和磁盘数据这两种存储方式的切换 Spark 可以使用 persist 和 cache 方法将任意 RDD 缓存到内存或者磁盘文件系统中。数据会优先 阅读全文
摘要:
一.HashMap的内部属性 1.1 成员变量 HashMap包含的KV键值对的数量,也就是我们通常调用Map.size()方法的返回值 HashMap的结构被修改的次数(包括KV映射数量和内部结构rehash次数),用于判断迭代器梳理中不一致的快速失败。 下一次扩容时的阈值,达到阈值便会触发扩容机 阅读全文
摘要:
原文来我的公众号:Spark性能优化指南——初级篇 一. Spark作业原理 我们使用spark-submit提交一个Spark作业之后,这个作业就会启动一个对应的Driver进程。该进程是向集群管理器(Yarn,K8s)申请运行Spark作业需要使用的资源,这里的资源指的就是Executor进程。 阅读全文