结束语 | 世间所有的相遇,都是久别重逢

今天和往常一样。我开车沿着硅谷的101公路下班,101还是一样的堵。

今天和往常又不一样。比如,今天午饭的话题不一样。往日我会利用午饭或者喝咖啡的时间和同事一起讨论一些极客时间专栏读者提出的问题。而且,今天回到家里也不需要赶着写稿。如果是往日,编辑催稿的微信早就已经堆积成了99+未读消息。

专栏成功的指标=所有读者收获之和

我还清楚地记得,4月15日(北京时间),因为时差原因,我在凌晨2、3点等待着专栏上线,守着手机屏幕,看新的读者加入。我在极客时间的留言管理页面一遍一遍下拉刷新,期待着去回复包括你在内的读者留言。说不定我一个人就给极客时间的服务器QPS增加了1或者2(笑)。

写作的过程中,我也碰到过很多困难。

专栏占用了很多时间,有时候为了查证一个技术点我会研读Apache Beam代码到深夜,女朋友甚至因此和我吵过架。不仅是写作的时间需要去平衡,我的全职工作和生活也需要。在专栏更新过半的时候,因为家人身体原因,我必须一直往返于湾区和德州,没有完整的时间录音,不得不更换了主播来录音。

为此,我也在这里,再次和你道歉。

当然,也有写作时间之外的阻力。我在开篇词中对专栏的内容要求是,每一篇专栏都是原汁原味的硅谷技术分享。这也带来了一个意外的问题。

第1讲“为什么MapReduce会被硅谷一线大厂淘汰”一经在知乎分享,就一跃成为MapReduce话题点赞排名第一的文章。它的影响力超过了Google内容发行部门的预计,以至于负责Google内容审查的部门找到我,要求一起审查专栏中还未发布的内容。

这样的小插曲其实我也没有预料到。在经历了14天详细的审查之后,我的专栏终于通过审核,被认定为是开源技术分享,而并不涉及商业机密。

专栏写作期间,有时候和朋友吃个饭我都不得不提前告辞:“今晚需要回家写稿”。朋友都问我:“为什么你要花这么多时间去写专栏?”

是啊,为什么?

因为你。专栏上线的十几天的时候,在LinkedIn、微信等各种社交渠道里,有来自Apple、Uber、思科等各种公司的读者联系到我,和我说: “蔡老师,谢谢你,我看了你的专栏,真的收获很大。”

你的收获,你的成长,才是我如此认真写作的动力。即使订阅量只有1,我也会为了这1份订阅背后的信任,100%交付每一篇内容。

万物皆数据

记得在刚入职Google的时候,组里希望我能在了解大组业务的同时,熟悉Google内部对于大规模数据处理的整个流程和做法。而组里布置给我的第一个启动项目就是修改一个大型MapReduce任务中的一小部分逻辑。

当时我着了迷似地研究组内数据处理的整套流程。

我逐渐发现,Google内部所使用的API和我在上学时自学的Apache Spark非常不同。即便需要新加或者修改的逻辑非常多,再加上数据异常的检测(Monitoring)和执行流程日志(Logging)的输出,整个代码加起来也很难超过100行。

而我组里的技术领导(Tech Lead)更是告诉我,在查看自己所修改的Pipeline的时候,可以利用DAG来查看一整套执行流程图,我更是觉得十分神奇。

后来我才慢慢知道,其实在我加入Google的时候,Google已经完全淘汰了以前的MapReduce Framework,而将Google Dataflow的整套思想都运用到了这个内部称为Flume的大规模数据处理Framework中去。在新入职员工的内部培训中,讲师就说过——Flume是每个Noogler的必修课。

在经历了几年的技术历练之后,我开始成为Google的面试官之一。

一般来说,面试题目除了基本的数据结构和算法外,还会涉及到系统设计。其实这些题目或多或少都在考察着我们如何处理转换数据,如何保存数据。在和Google不同的组之间进行交流后,我也更加清楚地了解到,其实每个组都在做着数据处理的任务。

我们自己的生活难道不也是完完全全被大规模数据处理充斥着的吗?

例子太多了,日常生活购物网站(淘宝、Amazon)在处理着所有客户的交易商品数据,平时使用的支付软件(支付宝、Venmo)在处理着我们的支付数据,社交软件(微博、Facebook和Twitter)在处理着大规模社交信息流数据。

其实我们一直都生活在一个被大规模数据处理所包围着环境中,我相信等到5G全面到来,这种现象会更加明显。而我也越来越觉得,学习好大规模数据处理真的是一门必修课。

我的下一步

虽然我们对于大规模数据处理的学习已经告一段落,但是我坚信“万物皆数据”,坚信数据会改变人类生活。

接下来,我会回收更多的时间精力,继续从事人工智能医疗健康的研发工作。除此之外,我还会参与录制Google官方的TensorFlow视频课程。

感谢你在这三个月里的努力学习,希望你能学有所得,也希望有机会能与你再次重逢!

精选留言

  • 梅亮宏@创造力

    2019-07-30 06:08:17

    老师是有信仰的一个人,任何愿意分享技术都是很有魅力的。你女朋友应该感到自豪:)谢谢三个月的陪伴!Good luck in your new journey! Hopefully see you again on Geek’s Time! Cheers!
  • 微思

    2019-07-29 00:39:01

    👍赞
  • 兆熊

    2020-04-18 12:15:13

    我用思维导图的形式对专栏的内容进行了总结,欢迎阅读: https://blog.csdn.net/zhouzxi/article/details/105594026?utm_source=app
  • cotter

    2019-07-30 09:30:01

    首个追完的专栏,感谢蔡老师
  • never leave

    2019-07-30 08:39:27

    感谢老师的辛苦付出
  • 天空只能仰望?

    2019-07-30 07:59:06

    老师,你好,请教一下beam运行如何管理应用的中间状态,类似于flink checkpoint ?
    作者回复

    谢谢你的提问!像Checkpoint和Drain这种概念Beam现在暂时还不支持,不过我相信在roadmap中。

    2019-07-30 11:34:14

  • inzaghi

    2020-02-14 22:39:17

    hi,老师,你好。你有没有大数据处理+用户画像+推荐系统方向的教程、或者书籍推荐。谢谢!
  • ¾

    2019-07-30 04:18:52

    收获颇多 感谢!
  • 陈凯枫

    2019-07-30 00:53:23

    感谢蔡老师的辛勤付出!通过专栏学习,开拓了视野,提高了见识。
  • Scarsy

    2019-07-30 00:02:45

    谢谢老师,老师辛苦了
  • TKbook

    2019-07-29 17:25:27

    终于看完专栏,感谢老师,牺牲这么多时间。。。
  • 三水

    2019-07-29 14:55:27

    这是目前唯一追更学习的专栏,谢谢老师!
  • 2019-07-29 09:50:30

    感谢分享
  • Samlam

    2019-07-29 08:45:42

    感谢蔡老师 🙏
  • kenan

    2019-07-29 08:20:23

    老师,诚挚之眼,感人肺腑,我们下一门课程相见。
  • JensonYao

    2019-07-29 08:17:46

    感谢蔡老师!
  • apollo

    2019-07-29 07:20:27

    感谢你!
  • FengX

    2019-07-30 10:20:17

    感谢老师在这一百多天里的辛勤付出!
  • AidenLiang

    2019-07-29 12:44:57

    感谢老师
  • 小叶

    2025-03-03 14:50:14

    时间过的真快,现在都已经时2025年了,知识还是有用的