查看原文
其他

经验之谈:程序员应该如何学好大数据技术


最近几年,我跟很多创业者交流,发现创业最艰难的地方,莫过于创业项目难以实现商业价值。很多时候技术实现了、产品做好了,然后千辛万苦做运营,各种补贴、各种宣传,但是用户就是不买账,活跃度差、留存率低。

很多时候,我们不是不够努力,可是如果方向错了,再多努力似乎也没有用。阿里内部有句话说的是“方向对了,路就不怕远”,雷军也说过“不要用你战术上的勤奋,掩盖你战略上的懒惰”。这两句话都是说,要找好方向、找准机会,不要为了努力而努力,要为了目标和价值而努力。而王兴则更加直言不讳:“很多人为了放弃思考,什么事情都干得出来”

我们回头看看Hadoop的成长历程。从2004年Google发表论文,到2008年Hadoop成为Apache的开源项目,历时4年。当时世界上那么多搜索引擎公司似乎都对这件事熟视无睹,Yahoo、百度、搜狐(是的,搜狐曾经是一家搜索引擎公司),都任由这个机会流失。只有Doug Cutting把握住机会,做出了Hadoop,开创了大数据行业,甚至引领了一个时代。

我们可以从Hadoop历史中学到的第一个经验就是识别机会、把握机会。有的时候,你不需要多么天才的思考力,也不需要超越众人去预见未来,只需要当机会到来的时候,能够敏锐地意识到机会,全力以赴付出才智和努力,就可以脱颖而出了。

结合大数据来说,虽然大数据技术已经成熟,但是它和各种应用场景的结合方兴未艾,如果能看到大数据和你所在领域结合的机会,也许就找到了一次脱颖而出的机会。

另一方面,如果观察一下Hadoop几个主要产品的架构设计,就会发现它们都有相似之处,即都是一主多从的架构方案。HDFS,一个NameNode,多个DataNode;MapReduce 1,一个JobTracker,多个TaskTracker;Yarn,一个ResourceManager,多个NodeManager。

事实上,很多大数据产品都是这样的架构:Storm,一个Nimbus,多个Supervisor;Spark,一个Master,多个Slave。


大数据因为要对数据和计算任务进行统一管理,所以和互联网的在线应用不同,需要一个全局管理者;而在线应用因为每个用户请求都是独立的,而且为了实现高性能和便于集群伸缩,会尽量避免全局管理者。

所以我们从Hadoop中可以学到大数据领域的一个架构模式:集中管理,分布存储与计算。

使用Hadoop,要先了解Hadoop、学习Hadoop、掌握Hadoop,要做工具的主人,而不是工具的奴隶,不能每天被工具的各种问题牵着走。最终的目标是要超越Hadoop,打造适合自己业务场景的大数据解决方案。

在学习大数据的时候,不要局限在大数据技术这个领域,要从更开阔的视野和角度看待大数据、理解大数据。这样一方面可以更好地学习大数据技术本身,另一方面也可以把以前的知识都融会贯通起来。

计算机知识更新迭代非常快速,如果只是什么技术新就学什么,或者什么热门学什么,就会处于一种永远在学习,永远都学不完的境地。

如果这些知识点对于你而言都是孤立的,新知识真的就只是新的知识,无法触类旁通,无法利用已有的知识体系快速理解这些新知识,进而掌握这些新知识。这样不但学得累,而且就算“学”完了,忘得也快。

所以不要纠结在仅仅学习一些新的技术和知识点了,构建起你的知识和思维体系,不管任何新技术出现,都能够快速容纳到你的知识和思维体系里面。这样你非但不会惧怕新技术、新知识,反而会更加渴望,因为你需要这些新知识让你的知识和思维体系更加完善。

关于学习新知识我有一点心得体会。我在学习新知识的时候会遵循一个5-20-2法则,用5分钟的时间了解这个新知识的特点、应用场景、要解决的问题;用20分钟理解它的主要设计原理、核心思想和思路;再花2个小时看关键的设计细节,尝试使用或者做一个demo。

如果5分钟不能搞懂它要解决的问题,我就会放弃;20分钟没有理解它的设计思路,我也会放弃;2个小时还上不了手,我也会放一放。请相信我,一种真正有价值的好技术,即便这次放弃了,过一阵子它还会换一种方式继续出现在你面前。这个时候,你再尝试用5-20-2法则学习,也许就能理解了。我学Hadoop实际上就是经历了好几次这样的过程,才终于入门。而有些技术,当时我放弃了,它们再也没有出现在我面前,被历史淘汰了,我也没有因此浪费自己的时间。

还有的时候,你学某门新技术却苦苦不能入门,可能仅仅就是因为你看的文章、书籍本身写得糟糕,或者作者写法跟你的思维方式不对路而已,并不代表这个技术有多难,更不代表你的能力有问题,如果换个方式、换个时间、换篇文章重新看,可能就豁然开朗了。

关于作者:李智慧,同程旅行交通首席架构师。曾任阿里巴巴、Intel架构师,长期从事分布式系统与大数据开发,Apache Spark 代码贡献者,腾讯云 TVP,著有畅销书《大型网站技术架构:核心原理与案例分析》。


本文节选自《大数据技术架构:核心原理与应用实践》,想了解更多大数据技术架构的内容,推荐阅读此书。



更多精彩内容请阅读《大数据技术架构:核心原理与应用实践》!
京东满100减50
快快扫码抢购吧!

未来的生活一定是数字化的生活,掌握一些大数据技术总是好事。但本质上它也只是一个工具,人生的旅程,既要紧跟时代,也要谨防随波逐流。相信各位读者能以《大数据技术架构:核心原理与应用实践》一书的内容为起点而非终点,继续探索,走出自己的光明大道。


如果喜欢本文
欢迎 在看留言分享至朋友圈 三连


 热文推荐  





▼点击阅读原文,查看本书详情~

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存