从0开始学大数据(20)Spark的性能优化案例分析(下)

上一期,我讲了软件性能优化必须经过进行性能测试,并在了解软件架构和技术的基础上进行。今天,我们通过几个 Spark 性能优化的案例,看一看所讲的性能优化原则如何落地。如果你忘记了性能优化的原则,可以返回上一期复习一下。 基于软件性能优化原则和 Spark 的特点,Spark 性能优化可以分解为下面几步。 性能测试,观察 Spark 性能特性和资源(CPU、Memory、Disk、Net)利用情况。
从0开始学大数据(20)Spark的性能优化案例分析(下)

从0开始学大数据(19)Spark的性能优化案例分析(上)

我们知道,现在最主流的大数据技术几乎都是开源的产品,不管是 Hadoop 这样的大数据存储与计算产品,还是 Hive、Spark SQL 这样的大数据仓库,又或者 Storm、Flink 这样的大数据流计算产品,还有 Mahout、MLlib 这样的大数据机器学习算法库,它们都来自开源社区。所以,我们在使用大数据、学习大数据的过程中肯定少不了要和开源社区打交道。 我在 Intel 工作期间主要工作
从0开始学大数据(19)Spark的性能优化案例分析(上)

从0开始学大数据(13)同样的本质,为何 Spark 可以更高效?

上一讲我们讨论了Spark的编程模型,这讲我们聊聊 Spark 的架构原理。和 MapReduce 一样,Spark 也遵循移动计算比移动数据更划算这一大数据计算基本原则。但是和 MapReduce 僵化的 Map 与 Reduce 分阶段计算相比,Spark 的计算框架更加富有弹性和灵活性,进而有更好的运行性能。 Spark 的计算阶段 我们可以对比来看。首先和 MapReduce 一个应用一次
从0开始学大数据(13)同样的本质,为何 Spark 可以更高效?

从0开始学大数据(12)我们并没有觉得 MapReduce 速度慢,直到 Spark 出现

Hadoop MapReduce 虽然已经可以满足大数据的应用场景,但是其执行速度和编程复杂度并不让人们满意。于是 UC Berkeley 的 AMP Lab 推出的 Spark 应运而生,Spark 拥有更快的执行速度和更友好的编程接口,在推出后短短两年就迅速抢占 MapReduce 的市场份额,成为主流的大数据计算框架。 读到这里请你先停一下,请给这段看似“没毛病”的引子找找问题。 不知道你意
从0开始学大数据(12)我们并没有觉得 MapReduce 速度慢,直到 Spark 出现

从0开始学大数据(11)Hive 是如何让 MapReduce 实现 SQL 操作的?

前面我们讲过,MapReduce 的出现大大简化了大数据编程的难度,使得大数据计算不再是高不可攀的技术圣殿,普通工程师也能使用 MapReduce 开发大数据程序。但是对于经常需要进行大数据计算的人,比如从事研究商业智能(BI)的数据分析师来说,他们通常使用 SQL 进行大数据分析和统计,MapReduce 编程还是有一定的门槛。而且如果每次统计和分析都开发相应的 MapReduce 程序,成本也
从0开始学大数据(11)Hive 是如何让 MapReduce 实现 SQL 操作的?