Spark内核设计的艺术:架构设计与实现
上QQ阅读APP看书,第一时间看更新

第1章 环境准备

“凡事豫则立,不豫则废。言前定,则不跲;事前定,则不困。”

——《礼记·中庸》

本章导读

学习一个工具的最好途径,就是使用它。这就好比《极品飞车》玩得好的同学,未必真的会开车,要学习车的驾驶技能,就必须用手触摸方向盘,用脚感受刹车与油门的力道。在IT领域,在深入了解一个系统的原理和实现细节之前,应当先准备好它的运行环境或者源码阅读环境。如果能在实际环境下安装和运行Spark,显然能够提升读者对Spark的一些感受,对系统能有个大体的印象,有经验的工程师甚至能够猜出一些Spark在实现过程中采用的设计模式和编程模型。

当你通过一些途径知道了系统的原理之后,难道不会问问自己:这是怎么做到的?如果只是游走于系统使用、原理了解的层面,是永远不可能真正理解整个系统的。很多IDE本身带有调试的功能,每当你阅读源码,陷入重围时,调试能让我们更加理解运行期的系统。如果没有调试功能,不敢想象阅读源码的难度有多大。

本章旨在帮助读者搭建基本的运行环境、构建源码学习环境。主要包括以下内容。

在Linux中搭建基本的Spark执行环境。

spark-shell的基本使用。

spark-shell的源码剖析。

在Mac OS中搭建Spark源码阅读环境。