当你看到这篇文章的时候,恭喜你,你已经学完了本课程的所有内容。
有一类事情看起来枯燥无味乏善可陈,做起来巨难无比,写作就是其中之一,回忆起这几个月漫长且短暂的写作旅途,感慨颇多。我本身是数据方向的开发者之一,同样是从最简单的 Hadoop WordCount 入门,做过数据领域最脏最累的活,也做过看起来高大上的工作。
仅仅就实时计算领域,这几年的发展速度令人惊奇,比如我接触过的 Samza、S4、Heron、Storm 等,它们都曾经在各自的时代风头无两,在自己擅长的业务领域所向披靡。但是随着业务和技术思想的不断更新迭代,最终出现了 Spark、Flink 这样优秀的框架。
如果你是数据领域的一名开发者,或者是一个即将走出校门进入这个行业的初学者,那么你一定有这样的困惑,大数据领域的开源框架浩如烟海,每年仅仅进入 Apache 的开源项目就多达数十个。我作为开发者,同样也曾经是面试官,遇到过很多同学有过这样的问题:熟悉或者了解大量的开发框架,讲起名词来滔滔不绝,但是深入交流才发现,对于原理的掌握过于浅薄,导致面试失败。这是实时计算乃至数据领域最好的时代,遇到 Spark、Flink 这样优秀的框架,阅读源码是必不可少的一部分,所谓知其然且知其所以然。
还有很多很多的读者私信问我,为什么你不用 Scala 开发?为什么不用 Python 来实现?语言之争向来是开发圈子经久不衰的话题。Flink 作为一个优秀的框架,大部分基于 Java 开发,那么就选择 Java 语言好了。如果你所在的小组或者公司对 Scala 推崇备至,那么就用 Scala 好了。这些都不重要,重要的是开发前的业务调研、详细设计等,代码的实现占比是很小的。
对于刚刚接触 Flink 或者刚刚接触实时计算的同学们来说,你肯定会经历一段非常难熬的日子。我曾经也有过一段这样的经历,白天啃公司的工程和业务,晚上和周末啃买的书,数不清熬了多少个深夜,但这也恰恰是你成长最快的时候,这段难熬的日子也是你夯实基础、快速升级的必经之路。
就像我之前在个人的公众号上写的一样。学习嘛,说到底就是为了掌握技能赚钱,你可以选择糊弄,做不到 100 分做到 60、70 分就可以了;你也可以选择努力一把,迅速成长,凡事做到 100 分,为后面漫长的职业生涯打下基础,等技术能力达到一个层次,跳出这个小圈子,可以去做技术创业或者商业相关的东西,后面的路会更宽。
我选择的是后者。
如果你是像我上面那么做的话,工作超过一年多的时候就会发现,开发本身是工作中最最简单的工作内容。你面对的是需求讨论、架构设计、投入产出比、跨部门推进工作,还有可能在多方合作中找到利益共同点为自己服务,除去技术本身的商业嗅觉等。
我还是那句话,技术本身都是雕虫小技。
《士兵突击》中,许三多是个“在卑微中伟大”的赤子,他“明明是个强人”却“天生是个熊样”。他很简单,却活得精彩、有意义,因为他懂得珍惜机会。
就像高连长说的:“他对每一件小事,就像救命的稻草一样抓着。有一天我一看,好家伙,他抱着的已经是一棵参天大树了。”
希望每个读者,最后怀抱的都是参天大树。
专栏体会
这个专栏是我结合着实际工作中的实践写出来的,包含了大量的在大数据量下的实践经历,是一门可以带你完全掌握 Flink 核心知识点的课程,也可以对你在实际开发中起到一定的指导作用。Flink 还在不断地更新迭代,仅就目前来看,在实时计算领域 Flink 的发展道阻且长,但是前途光明。
最后,如果你是一名刚刚进入大数据开发领域在学习实时计算相关的技术,那么不妨从 Flink 入手,从这门课入手。如果你是公司数据方向的技术带头人或者 CTO,那么不妨在实际生产中尝试使用 Flink,相信 Flink 一定不会让你失望的。
精选评论
*放:
"白天啃公司的工程和业务,晚上和周末啃买的书,数不清熬了多少个深夜,但这也恰恰是你成长最快的时候,这段难熬的日子也是你夯实基础、快速升级的必经之路"喜欢这句,写的都是大家的真实状态. 感谢作者奉献这么优质的内容
**生:
既要埋头拉车,也要抬头看路。足见作者的良苦用心
**9720:
数据领域最脏最累的活 请问这个是指具体做些什么
讲师回复:
比如原始数据清洗、ETL、大量的业务SQL开发这些没有什么技术含量,但是又不得不做的时事情。
**发:
疾风知劲马😀
**鹏:
加油兄弟们 付出总会有回报,只是现在还没开始回报而已
**用户6169:
老师你说过了数据领域最脏最累的活,我们也想知道一下,哪些是数据领域高大上有技术含量的活呢,麻烦老师也说一下,让我们在实际工作中也能遇到这样的机会好及时抓住!
讲师回复:
我说几个:推荐、广告、搜索这三个业务的数据开发,公司核心业务部门的数据开发,另外就是数据平台的开发。
**飞:
虽然看了那么一些flink,但是还没弄明白flink是怎么做到对大数据进行处理的。比如spark计算内存是64G,他可以处理远大于64G的数据。因为会数据分词很多task,等所有的task执行完,就处理完任务了。那flink是如何在小内存处理大量的数据的呢?
讲师回复:
Flink和Spark的设计理念如出一辙,也是很多task并行执行。