大数据系统学习三步走_大数据

 

 

 

 

 

 

今天分享一下如何学习大数据系统。什么是大数据系统?不仅是用来处理大数据的,同时系统本身也很大,哪里大?代码总量大!1.0.0版本的Hadoop系统源代码52.6万行。这个数字是学长提供的,不知道准确与否,我也没兴趣去统计,但差不多能反映出代码量。最近的一篇文章里也提到 Oracle 代码两千万行,看来不光大数据系统代码多。

 

 

做项目模式

 

在一个项目中使用了 Spark,读取数据时候发现很慢,怎么办?

 

这时候有这么几种方式可选。

 

(1)看代码:理解 Spark 原理,分析自己的代码哪里有问题。

(2)看文档:根据官方的详细介绍,理解 Spark 原理。

(3)看博客:网上找 Spark 原理分析的博客,理解 Spark 原理。

(4)求救:向高手提问。

 

这里的文档一般是用户文档,不是设计文档,一个项目,一般先有设计文档,再有代码,最后才有用户文档。之所以叫用户文档,因为这是给用户看的。

 

最高效的是求救,但并不总是能找到高手求救,有时候还是得自己解决,那选啥呢?

 

跟以前考试一样,先不着急做题,先读题,这是一个“项目”,项目跟科研的区别就是,项目一般是很着急的,急到有时候 bug 不过夜,因此,顺序应该是看博客 -> 看文档 -> 看代码。看到一个解决方法就试一下,不行就接着试下一个,一般来说都能试出来一个能解决问题的。

 

 

学习模式

 

学习模式和做项目模式就不一样了,做项目主要锻炼快速实现功能和解决问题的能力,学习就看个人兴趣了,学习系统设计思想,代码编写方式,都可以学习,学习模式学到的东西不一定都能用上,但是可以当做很好的个人知识储备。

 

那如何学习一个大数据系统?我们要知道,博客是建立在文档和代码之上的,文档是从代码来的,基本是下图这么个关系。

大数据系统学习三步走_spark_02

俗话说,擒贼先擒王,而且仿佛以前老师也说过,学习没有捷径,一定要下苦功夫。而看博客是最轻松的,看文档稍微吃力点,看代码最痛苦。假如你是个肯吃苦的好孩子,于是你就按照代码、文档、博客的顺序看了。就这样,你迷失在了代码的海洋里。。。

 

几十万行代码,如果不是对 “万” 有什么误解,一般还是不要从代码看起。

 

我推荐的学习路线依旧是 博客 -> 文档 -> 代码。如果想了解系统的设计思想,看博客和文档就够了,那什么时候看代码呢?

 

要知道文档是不可能把所有细节说清楚的,如果把所有细节说清楚,就相当于把代码一行一行又翻译了一遍。因此,想深入理解一些功能实现,都需要去看那一部分代码。注意,是看一部分代码,没有人有精力去一行一行看所有代码的。

 

先看文档再看代码也有助于对代码的理解,起码你会知道大概那些包下面的代码是哪个模块的,有助于定位代码。

 

 

 

 

 

 

举个例子

 

举个例子,一个建筑专家想鉴定一栋楼设计的好不好,应该怎么做?去楼里一个一个房间看,然后看那些细节做的不到位?最后把整栋楼的设计图画出来?肯定不是啊,肯定是先找设计图,看整体设计哪里有问题,最后再深入看哪些细节设计不合理。

 

 

 

 

 

 

 

总结

 

坚定大数据系统学习三步走战略,先看博客,再看文档,最后看代码。不要一上来就看代码!

 

大数据系统学习三步走_spark_03