从RDDs到Spark

从RDDs到Spark
Spark是近年来非常火爆的分布式计算框架,可以说它紧跟Hadoop的脚步,并且在很多方面实现了超越。在Spark官方的宣传中我们也可以看到,Hadoop能做到的事情,Spark也可以做,而且通常可以做得更好。事实上,越来越多的业内公司都开始试水Spark,因为其核心卖点内存计算加速以及简洁优雅的编程接口不光可以为某些分布式批处理应用提速,还可以降低分布式计算应用的编写门槛。由于我不是数据工程师,所以我并不太关心分布式应用的编写环节(例如如何利用Spark进行数据挖掘、机器学习……),我更关心Spark这个计算框架以及这个分布式系统的体系结构。现在有很多书都在写Spark源码,但是很遗憾的是,在我看来,这些源码分析做得很“工程”,要知道很少有人会因为某某软件开源,就去死磕它的代码,人们往往需要带着目的去研究他们的代码,从而补足书面文献中所缺少的部分,其次才是看他们的实现是否够“优雅”,够“软件”。 希望本文能做做成一个系列,记录我学习Spark的点滴,同时也将我的学习思路分享给大家。 研究一个软...

Spark源码阅读环境搭建[Windows版]

Spark源码阅读环境搭建[Windows版]
近期要开始阅读Spark的源码了,董的博客里的这篇文章已经把大致的环境搭建思路说得很清楚了。不过由于我没有专用的Linux工作机,在VM里开IDE阅读代码不仅对我8GB内存的小本是种摧残,对我的精神更是种折磨,于是开始琢磨怎么在Windows下配置这个环境。 其实那篇博文已经比较老了(注意到那个发布时间是2014年),不仅Spark有了飞越,Scala同样也是,版本问题似乎已经不再那么至关重要(版本依然重要)下面列出我的配置流水: 安装JDK 1.8,配置CLASS_PATH、系统Path 安装Scala 2.10.6(2.10.x的最新版),安装的时候没什么特殊情况的话,会自动加入Path 安装Git for Windows,这个记得安装的时候不要选Bash,要选Command Prompt 安装SBT,这个似乎不是必要的,因为IDEA自带这个,不过如果希望自己动动命令行手动构建的话,可以装个玩玩,记得加入Path,然后命令行执行sbt命令来进行初始化(有可能需要VPN,有些库被