返回顶部 Fork me on GitHub
摘要: 一 调优概述 有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多。数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作业的性能。 1.1数据倾斜发生时的现象 绝大多数task执行得都非常快,但个别task执行极慢。比如 阅读全文
posted @ 2018-07-14 23:22 Frankdeng 阅读(3803) 评论(2) 推荐(1) 编辑
摘要: 一、概述 大多数Spark作业的性能主要就是消耗在了shuffle环节,因为该环节包含了大量的磁盘IO、序列化、网络数据传输等操作。因此,如果要让作业的性能更上一层楼,就有必要对shuffle过程进行调优。但是也必须提醒大家的是,影响一个Spark作业性能的因素,主要还是代码开发、资源参数以及数据倾 阅读全文
posted @ 2018-07-14 19:08 Frankdeng 阅读(1717) 评论(0) 推荐(1) 编辑
摘要: 一JVM结构 1 Java内存结构 JVM内存结构主要有三大块:堆内存、方法区和栈。 堆内存是JVM中最大的一块由年轻代和老年代组成,而年轻代内存又被分成三部分,Eden空间、From Survivor空间、To Survivor空间,默认情况下年轻代按照8:1:1的比例来分配; 方法区存储类信息、 阅读全文
posted @ 2018-07-14 17:54 Frankdeng 阅读(3568) 评论(0) 推荐(0) 编辑
摘要: 一、概述 Spark 作为一个基于内存的分布式计算引擎,其内存管理模块在整个系统中扮演着非常重要的角色。理解 Spark 内存管理的基本原理,有助于更好地开发 Spark 应用程序和进行性能调优。本文旨在梳理出 Spark 内存管理的脉络,抛砖引玉,引出读者对这个话题的深入探讨。本文中阐述的原理基于 阅读全文
posted @ 2018-07-14 16:33 Frankdeng 阅读(16729) 评论(1) 推荐(5) 编辑
摘要: Spark调优主要分为开发调优、资源调优、数据倾斜调优、shuffle调优几个部分。开发调优和资源调优是所有Spark作业都需要注意和遵循的一些基本原则,是高性能Spark作业的基础;数据倾斜调优,主要讲解了一套完整的用来解决Spark作业数据倾斜的解决方案;shuffle调优,面向的是对Spark 阅读全文
posted @ 2018-07-14 15:21 Frankdeng 阅读(3262) 评论(1) 推荐(0) 编辑
摘要: 一、Spark中的基本概念 (1)Application:表示你的应用程序 (2)Driver:表示main()函数,创建SparkContext。由SparkContext负责与ClusterManager通信,进行资源的申请,任务的分配和监控等。程序执行完毕后关闭SparkContext (3) 阅读全文
posted @ 2018-07-14 14:18 Frankdeng 阅读(47009) 评论(5) 推荐(5) 编辑
摘要: 一、Hive 执行过程概述 1、概述 (1) Hive 将 HQL 转换成一组操作符(Operator),比如 GroupByOperator, JoinOperator 等 (2)操作符 Operator 是 Hive 的最小处理单元 (3)每个操作符代表一个 HDFS 操作或者 MapReduc 阅读全文
posted @ 2018-07-14 12:04 Frankdeng 阅读(5618) 评论(1) 推荐(0) 编辑
摘要: Transformation算子 基本的初始化 java scala 一、map、flatMap、mapParations、mapPartitionsWithIndex 1.1 map (1) 使用Java7进行编写 map十分容易理解,他是将源JavaRDD的一个一个元素的传入call方法,并经过 阅读全文
posted @ 2018-07-14 00:16 Frankdeng 阅读(1820) 评论(0) 推荐(1) 编辑