Google 工程师是怎么处理大规模数据的?

Google 工程师是怎么处理大规模数据的?

蔡元楠 极客时间 

毫无疑问,Google 是公认的大数据鼻祖。如今很多人提起大数据,还停留在 Google 开启的“三驾马车”时代:Google FS、MapReduce、BigTable。其实,“三驾马车”早已不是浪潮之巅。

近年来,大数据技术的发展,不论是技术迭代,还是生态圈的繁荣,都远超我们的想象。从 Spark 成为 Hadoop 生态的一部分,到 Flink 横空出世挑战 Spark 成为大数据处理领域的新星,再到如今 Google 又决心用 Apache Beam 一统天下。大数据技术的发展可谓跌宕起伏,波澜壮阔。

丰富的工具,繁荣的生态,也增加了开发者选择合适工具的难度。把开源框架,工具,类库,平台整合到一起,所需要的工作量以及复杂度,可想而知。技术的选择与使用,也是大数据开发者非常头疼的问题。

我在2017 年的时候,曾经以导师的身份帮助过 Google  Ventures(Google 的风险投资基金),会经常参加投资公司的技术架构评审。我发现,很多技术 VP 对使用的技术并没有深层次思考,没有想明白使用某一技术的原因,往往是在“赶技术的时髦”,更别说普通的开发者。

如果在处理大规模数据的时候没有自己的深层次思考,确实很容易陷入误区。而目前大家对于大数据处理的理解误区,一般有以下几种:

  1. 低估了数据处理的重要性

我在 Google Brain 的 AI 应用领域工作,切身感受到没有高质量的数据处理,人工智能只有人工没有智能。例如在语义理解上,Google 就曾犯过这样的错误,直到被一家德国的小公司超过,才认识到高质量的数据标注和处理的重要性。

  1. 低估了数据处理工程师在组织架构上的重要性

大数据领域知名泰斗级工程师 Jesse  Anderson 曾做过一项研究,一个人工智能团队的合理组织架构,需要 4/5 的数据处理工程师。其实,即使是一个写前端的工程师,很多工作还是数据处理。很不幸,很多团队没有认识到这一点。

  1. 低估了数据处理规模变大带来的复杂度

很多人还没有遇到过“大规模”的问题,因此容易把问题想的过于简单。我在 Google 面试过很多优秀的候选人,他们对常见的编程问题可以很好的解决,但只要追问数据规模变大时怎么设计系统,他们的回答却并不让人满意。

  1. 高估了上手数据处理的难度

一方面我们需要认识到大规模的数据处理是有复杂的因素的。但另一方面,有了正确的工具和技术理念,现在上手数据处理并不困难。在 Google,我见到很多应届生来了半年后也能轻松应对上亿的数据量。

为了帮你比别人更准确深入地掌握实用的大规模数据处理技术,甚至达到硅谷一线系统架构师的水平,历经三个月的打磨,我在极客时间的专栏《大规模数据处理实战》正式上线了。

在这个专栏中,我想带你培养 Google 工程师精神,敢于打碎任何权威,从问题出发思考最佳方案。具体地,我会从这两方面入手:一是为你介绍硅谷最前沿技术和真实的案例,例如最新的框架层面的前后端分离理念,和批处理流处理统一的思想。二是带你剖析技术框架产生的原因和他们解决的问题,让你在遇到相似的问题的时候,做到心中有数。

我是谁?

我是蔡元楠, 目前在 Google Brain 担任 AI Healthcare (人工智能的健康医疗应用) 领域资深工程师,我领导开发超大规模数据驱动的全新 AI 应用与商业模式,并作为我长期的职业方向。我也曾任职于 Google 搜索广告系统和智能语音助手系统。在 Google 除了技术工作外,我还兼任 C++ 语言评审,AI 挑战赛评委会委员等。

加入 Google 之前,我分别在纽约哥伦比亚大学和上海交通大学获计算机硕士和信息工程学士学位,也曾在哈佛医学院执行官项目学习。

你能收获什么?

为了给你设计一条切实可操作的学习路径,便于你上手,我会用 40+ 篇内容,为你分享我在 Google 的大数据处理实战经验。具体地,我把专栏主体分成了六个部分

第一部分,先会用原汁原味最实际的硅谷一线大厂的案例,向你解释 MapReduce 为什么不能应对最新的技术挑战。然后我会从实际的问题出发,从头开始引导你怎样从顶层设计一个数据处理框架。

第二部分,同样是结合实战案例,讲解在数据处理框架的使用和设计中,必需的一些基础知识。这些案例紧贴应用,可能就是你的团队明天会碰到的问题。

第三、第四部分,深入拆解了 Apache Spark 和 Apache Beam。不仅会用实际的案例教会你如何使用,还要教会你为什么它们这么设计,你会发现它们的设计其实大致和第一部分的顶层设计是一致的。这样下一次即使这个世界一无所有,你也能构建类似的框架解决一系列问题。

第五部分,按 Google T6 级别设计,是带着代码的真枪实弹的架构设计。毫不夸张地说,能完整掌握第五部分的思想精髓,你就能比肩硅谷一线大规模数据处理架构师。

第六部分着重培养你的技术远见。因为是否能现在就开始准备应对 10 年后人类社会的技术挑战,是你拉开与别人差距的重要一站。

此文章为蔡元楠著,文章来源为极客时间公众号,自我感觉此课程可以了解到大数据最新的技术架构,以及行业趋势,非常有价值,所以推荐给有兴趣的朋友学习。

最后附上原文链接:https://mp.weixin.qq.com/s/utsQ4O3_NDwQp4bPu_VNyQ

猜你喜欢

转载自blog.csdn.net/Will_cruise/article/details/89318110