Coursera数据工程师董飞:硅谷大数据的过去与未来

标签: coursera 数据 工程师 | 发表时间:2015-01-27 14:58 | 作者:
出处:http://www.iteye.com
董飞,Coursera数据工程师。曾先后在创业公司酷迅,百度基础架构组,Amazon 云计算部门,LinkedIn担任高级工程师,负责垂直搜索,百度云计算平台研发和广告系统的架构。董飞本科毕业于南开大学,硕士毕业于杜克大学计算机系。他在知乎上分享过多个引起强烈反响的问答,其中包括 《哪些硅谷创业公司能给拜访者留下深刻印象》《美国大数据工程师面试攻略》《Coursera 上有哪些课程值得推荐》等。



问:硅谷最火的高科技创业公司都有哪些?

在硅谷大家非常热情地谈创业谈机会,我也通过自己的一些观察和积累,看到了不少最近几年涌现的热门创业公司。这个是华尔街网站的 全世界创业公司融资规模评选。它本来的标题是billion startup club,不到一年的时间,截至到2015年1月17日,现在的排名和规模已经发生了很大的变化。



首先,估值在10 Billlon的达到了7家,而一年前一家都没有。
第二、第一名是中国人家喻户晓的小米。
第三、前20名中,绝大多数(8成在美国,在加州,在硅谷,在旧金山!)比如Uber,Airbnb,Dropbox,Pinterest。
第四、里面也有不少相似的成功模式,比如Flipkart就是印度市场的淘宝,Uber与Airbnb都是共享经济的范畴。
所以大家还是可以在移动(Uber),大数据(Palantir),消费级互联网,通讯(Snapchat),支付(Square),O2O App里面寻找到大机会。这里面很多公司我都亲自面试和感受过他们的环境。

问:有如此之多的高估值公司,是否意味着存在很大的泡沫?

我认为在硅谷这个充满梦想的地方,投资人鼓励创业者大胆去做,同样也助长了泡沫。很多项目在几个月的时间就会估值翻2、3倍,如Uber,Snapchat等等,我也惊讶于他们的巨额融资规模。

下面这张图讲的就是“新兴技术炒作”周期,把各类技术按照技术成熟度和期望值分类,这是硅谷创业孵化器YCombinator的课程How to start a startup提到的。“创新萌芽(Innovation Trigger)”、“期望最顶点(Peak ofInflated Expectation)”、“下调预期至低点(Trough of Disillusion)”、“回归理想(Slope ofEnlightenment)”、“生产率平台(Plateau of Productivity)”。越往左,技术约新潮,越处于概念阶段;越往右,技术约成熟,越容易进入商业化应用,发挥出提高生产率的效果。纵轴代表预期值,人们对于新技术通常会随着认识的深入,预期不断升温,伴之以媒体炒作而到达顶峰;随之因技术瓶颈或其他原因,预期逐渐冷却至低点;但技术成熟后,期望又重新上升,重新积累用户,然后就到了可持续增长的健康轨道上来。今年和去年的图对比显示,物联网、自动驾驶汽车、消费级3D打印、自然语言问答等概念正在处于炒作的顶峰。而大数据已从顶峰滑落,NFC和云计算接近谷底。



问:你认为未来高科技创业的趋势是什么?

我先提一部最近看过的电影《模仿游戏》(Imitation Game),这部影片讲的是计算机逻辑的奠基者艾伦图灵艰难的一生。他当年为破译德军密码制作了图灵机为二战胜利做出卓越贡献,挽回几千万人的生命,可在那个时代,他因为是同性恋而被判化学阉割,最后自杀结束了短暂的42岁生命。他的伟大贡献之一就是在人工智能方面的开拓,他提出图灵测试(Turing Test),测试某机器是否能表现出与人等价或无法区分的智能。在今天,人工智能已经有了很大进步,从专家系统到基于统计的学习,从支持向量机到神经网络深度学习,每一步都带领机器智能走向下一个阶梯。

Google的资深科学家吴军博士(《数学之美》,《浪潮之巅》作者),他提出当前技术发展三个趋势:第一、云计算和和移动互联网,这是正在进行时;第二、机器智能,现在开始发生,但对社会的影响很多人还没有意识到;第三、大数据和机器智能结合,这是未来时,一定会发生,有公司在做,但还没有太形成规模。他认为未来机器会控制98%的人,而现在我们就要做个选择,怎么成为剩下的2%? 李开复在2015年新年展望也提出未来五年物联网将带来庞大创业机会。

问:为什么大数据和机器智能结合的未来一定会到来?

其实在工业革命(1820年)之前,世界人均GDP在1800年前的两三千年里基本没有变化,而从1820年到2001年的180年里,世界人均GDP从原来的667美元增长到6049美元。由此足见,工业革命带来的收入增长的确是翻天覆地的。但人类的进步并没有停止或者稳步增长,在发明了电力、电脑、互联网、移动互联网之后,全球年GDP增长从万分之5涨到了2%,信息也是在急剧增长。根据计算,最近两年的信息量是之前30年的总和,最近10年的信息量远超人类所有之前累计的信息量之和。在计算机时代,有个著名的摩尔定律,就是说同样成本下,每隔18个月晶体管数量会翻倍,反过来同样数量晶体管成本会减半,这个规律已经很好地对应了最近30年的发展,并且可以衍生到很多类似的领域,比如存储、功耗、带宽、像素等等。

作为20世纪最重要的数学家之一,现代计算机、博弈论和核 武 器等诸多领域的科学全才之一,冯•诺伊曼提出“技术”将会逼近人类历史上的某种本质的奇点,在那之后,全部人类行为都不可能以我们熟悉的面貌继续存在。这就是著名的奇点理论。目前,信息量正在以越来越快的指数型速度增长,美国未来学家Ray Kurzweil称人类能够在2045年实现数字化永生,他自己也创办了奇点大学。相信随着信息技术、无线网、生物、物理等领域的指数级增长,人类将在2029年实现人工智能,人的寿命也将会在未来15年得到大幅延长。

问:国外值得关注的大数据公司都有哪些?国内又有哪些?

大致可以把大数据公司分成基础架构类和应用类,而底层都是会用到一些通用技术,如Hadoop、Mahout、HBase、Cassandra等等;在分析领域,Cloudera、Hortonworks、MapR是Hadoop的三剑客;在运维领域,MongoDB、CouchBase都是NoSQL的代表;在服务领域,AWS和Google BigQuery剑拔弩张;在传统数据库,Oracle收购了MySQL,DB2是老牌银行专用,而Teradata则做了多年数据仓库。

Apps领域的大数据公司更多,比如社交消费领域的Google、 Amazon、Netflix、Twitter等等, 商业智能领域的SAP、GoodData,还有一些在广告媒体领域,TURN、Rocketfuel,另外还有做智能运维的Sumo Logic等等。去年的新星 Databricks 伴随着Spark的浪潮震撼了Hadoop的生态系统。

对于迅速成长的中国市场,大公司也意味着大数据。BAT三家对大数据的投入都是不惜余力的。我4年前在百度的时候,百度就提出框计算的概念,最近两年成立了百度硅谷研究院,挖来Andrew Ng作为首席科学家,研究项目就是百度大脑,在语音、图片识别技术上大幅提高精确度和召回率,最近还做了个无人自行车,非常有趣。腾讯作为最大的社交应用对大数据也是情有独钟,他们自己研发了C++平台的海量存储系统。淘宝去年双十一主战场,2分钟突破10亿,交易额突破571亿,背后有很多故事,当年在百度做Pyramid(按Google三辆马车打造的金字塔三层分布式系统)的有志之士,继续在OceanBase创造神话。阿里云当年备受争议,马云也被怀疑是不是被王坚忽悠,最后经历了双十一的洗礼证明了OceanBase和阿里云是靠谱的。小米的雷军对大数据也寄托厚望,一方面这么多数据几何级数增长,另一方面存储带宽都是巨大成本,没价值就真破产了。

问:与大数据技术关系最紧密的就是云计算,您曾在Amazon 云计算部门工作过,能简单介绍一下亚马逊的AWS和Redshift框架吗?

AWS总体上成熟度很高,有大量startup都是基于上面开发,比如有名的Netflix,Pinterest,Coursera等。Amazon还在不断创新,每年召开reInvent大会推广新的云产品和分享成功案例。在这里面我随便说几个,S3是简单面向对象的存储,DynamoDB是对关系型数据库的补充,Glacier是对冷数据做归档处理,Elastic MapReduce直接对MapReduce做打包提供计算服务,EC2就是基础的虚拟主机,Data Pipeline 会提供图形化界面直接串联工作任务。



Redshift是一种大规模并行计算(massively parallel computer)架构,是非常方便的数据仓库解决方案,它作为SQL接口跟各个云服务无缝连接。Redshift的最大特点就是快,在TB到PB级别有非常好的性能。我在工作中也是直接使用Redshift,它还支持不同的硬件平台,如果想速度更快,可以使用SSD的,当然支持容量就小些。

问:Hadoop是现今最流行的大数据技术,在它出现的当时,是什么造成了Hadoop的流行?当时Hadoop具有哪些设计上的优势?

要看Hadoop从哪里开始,就不得不提Google的先进性。在10多年前,Google发表了3篇论文论述分布式系统的做法,分别是GFS、MapReduce、BigTable。虽然都是很厉害的系统,但没人见过。在工业界很多人痒痒得就想按其思想去仿作。当时Apache Nutch Lucene的作者Doug Cutting也是其中之一。后来Doug他们被Yahoo收购,专门成立Team来投入研究,这就是Hadoop开始和大规模发展的地方。之后随着Yahoo的衰落,牛人去了Facebook、 Google,也有的成立了Cloudera、Hortonworks等大数据公司,把Hadoop的实践带到各个硅谷公司。而Google还没有停止,又出了新的三辆马车,Pregel、Caffeine、Dremel,后来又有很多人步入后尘,开始了新一轮开源大战。

为啥Hadoop就比较适合做大数据呢?首先扩展性很好,直接通过加节点就可以把系统能力提高。Hadoop有个重要思想就是移动计算而不是移动数据,因为数据的移动会带来很大的成本,需要网络带宽。其次,Hadoop提出的目标就是利用廉价的普通计算机(硬盘),这样虽然可能不稳定(磁盘坏的几率),但通过系统级别上的容错和冗余达到高可靠性。并且非常灵活,可以使用各种数据,二进制、文档型、记录型,也可以使用各种形式,结构化、半结构化、非结构化(所谓的schemaless),在按需计算上也是个技巧。

问:MapReduce模型有什么问题?

第一、需要写很多底层的代码,不够高效。第二、所有的事情必须要转化成两个操作Map或Reduce,这本身就很奇怪,也不能解决所有的情况。

问:Spark从何而来?Spark相比于Hadoop MapReduce设计上有什么样的优势?

其实Spark出现就是为了解决上面的问题。先说一些Spark的起源,它来自 2010年Berkeley AMPLab,发表在HotCloud上的Spark是一个从学术界到工业界的成功典范,也吸引了顶级VC Andreessen Horowitz的注资。在2013年,这些大牛(包括Berkeley系主任,MIT最年轻的助理教授)从Berkeley AMPLab出去成立了Databricks,引无数Hadoop大佬尽折腰。

Spark是用函数式语言Scala编写的,Spark简单说就是内存计算(包含迭代式计算、DAG计算、流式计算 )框架。之前MapReduce因效率低下,经常被大家诟病,而Spark的出现让大家感觉很清新。 Reynod 作为Spark核心开发者,介绍说Spark性能超Hadoop百倍,算法实现仅有其1/10或1/100。在去年的Sort benchmark上,Spark用了23min跑完了100TB的排序,刷新了之前Hadoop保持的世界纪录。

问:Linkedin都采用了哪些大数据开源技术?

在LinkedIn有很多数据产品,比如People you may like、Job you may be interested。你的用户访问来源,甚至你的career path都可以挖掘出来。Linkedin也大量用到了开源技术,我这里就说一个最成功的Kafka。Kafka是一个分布式的消息队列,可以用在tracking、机器内部metrics、数据传输上。数据在前端后端会经过不同的存储或者平台,每个平台都有自己的格式,如果没有一个unified log,会出现灾难型的O(m*n)的数据对接复杂度。如果你设定的格式一旦发生变化,也要修改所有相关的格式。所以这里提出的中间桥梁就是Kafka,大家约定用一个格式作为传输标准,然后在接受端可以任意定制你想要的数据源(topics),最后实现线性的O(m+n)复杂度。对应的设计细节,还是要参考设计文档 ,这里面主要作者Jay Kreps、Rao Jun成立了Kafka作为独立发展的公司。

Hadoop作为批处理的主力,大量应用在各个产品线上。比如广告组,我们一方面需要去做一些灵活的查询,分析广告主的匹配、广告预测和实际效果,另外在报表生成方面也是用Hadoop作为支持。如果你想去面试LinkedIn 后端组,我建议应该去把Hive、Pig、Azkaban(数据流的管理软件)、Avro 数据定义格式、Kafka、Voldemort 都了解一下。LinkedIn有专门的开源社区,也是在建设自己的技术品牌。

问:能谈一谈Coursera在大数据架构方面和其他硅谷创业公司相比有什么特点?是什么原因和技术取向造成了这些特点?

首先我介绍一下Coursera。作为MOOC(大型开放式网络课程)中的领头羊,Coursera在2012年由Stanford大学的Andrew和Daphne两名教授创立,目前160名员工,原Yale校长担任CEO。Coursera的使命是universal access to world's best education。很多人问我为什么加入,首先我非常认可公司的使命,我相信教育可以改变人生,同样我们也可以改变教育。能不能把技术跟教育结合起来,这是一个很有趣的话题,里面有很多东西可以结合。比如提供高可靠平台支持大规模用户在线并发访问,利用数据挖掘分析学生行为做个性化课程学习并提高课程满意度,通过机器学习识别作业、互相评判,用技术让人们平等便捷的获取教育服务。

Coursera作为创业公司,非常想保持敏捷和高效。从技术上来说,所有的技术都是基于AWS开发的,可以随意启动云端服务并做实验。我们大致分成产品组,架构组和数据分析组。因为公司比较新,所以没有什么历史遗留迁移的问题。大家大胆地使用Scala作为主要编程语言,采用Python作为脚本控制。比如产品组就是提供课程产品,里面大量使用Play Framework,JavaScript的backbone作为控制中枢。而架构组主要是维护底层存储、通用服务、性能和稳定性。我所在的数据组由10多人构成,一部分是对商业产品,核心增长指标做监控、挖掘和改进。一部分是搭建数据仓库完善跟各个部门的无缝数据流动,这里也用到了很多技术。例如使用Scalding编写Hadoop MapReduce程序,也有人做AB testing框架、 推荐系统,尽可能用最少人力做有影响力的事情。其实除了开源世界,我们也积极使用第三方的产品,比如我们用Sumo Logic做日志错误分析,用Redshift作为大数据分析平台,用Slack做内部通讯。而所有的这些就是想解放生产力,把重心放到用户体验、产品开发和迭代上去。

Coursera是一个有使命驱动的公司,大家不是为了追求技术的极致,而是为了服务好老师、同学,解决他们的痛点,分享他们的成功。这点是跟其他技术公司最大的区别。从某个方面来说,现在我们还是处于早期积累阶段,大规模计算时代还没有来临,我们只有积极学习、适应变化才能保持创业公司的高速成长。

问:如果想从事大数据方面的工作,是否可以推荐一些有效的学习方法?有哪些推荐的书籍?

首先还是打好基础,Hadoop虽然火热,但它的基础原理都是书本上很多年的积累。像算法导论、Unix设计哲学、数据库原理、深入理解计算机原理、Java设计模式,有一些重量级的书可以参考,Hadoop 最经典的The Definitive Guide, 我在知乎上也有分享。

其次是选择目标,如果你想做数据科学家,我可以推荐coursera上的data science课程,通俗易懂。学习Hive,Pig这些基本工具,如果做应用层,主要是要熟悉Hadoop的一些工作流,包括一些基本调优。如果是想做架构,除了要能搭建集群,要对各个基础软件服务很了解,还要理解计算机的瓶颈和负载管理以及Linux的一些性能工具。

最后,还是要多加练习。大数据本身就靠实践,你可以先按API写书上的例子,做到有能力调试成功。再下面就是多积累,当遇到相似的问题时能找到对应的经典模式。然后就是实际问题了,也许周边谁也没遇到过这样的问题,你需要灵感和在网上问问题的技巧,然后根据实际情况作出最佳选择。

本文转载 图灵社区——图灵访谈栏目

感谢 mengyidan1988 投递这篇资讯

资讯来源: 图灵社区

已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [coursera 数据 工程师] 推荐:

Coursera数据工程师董飞:硅谷大数据的过去与未来

- - ITeye资讯频道
董飞,Coursera数据工程师. 曾先后在创业公司酷迅,百度基础架构组,Amazon 云计算部门,LinkedIn担任高级工程师,负责垂直搜索,百度云计算平台研发和广告系统的架构. 董飞本科毕业于南开大学,硕士毕业于杜克大学计算机系. 他在知乎上分享过多个引起强烈反响的问答,其中包括 《哪些硅谷创业公司能给拜访者留下深刻印象》、 《美国大数据工程师面试攻略》、 《Coursera 上有哪些课程值得推荐》等.

前Facebook工程师创办MemSQL公司 让数据库快步如飞

- - 业界
周一,前Facebook前工程师Eric Frenkiel 和 Nikita Shamgunov创办了一家旨在加速关系数据库的公司 MemSQL. Nikita Shamgunov 有6年Microsoft SQL Server高级工程师的工作经验,MemSQL的高性能数据库还是参照着Facebokk的脚本,有着很强烈的Facebook印记.

Oracle数据库系统工程师培训视频教程下载

- - Oracle - 数据库 - ITeye博客
   分享一套穆远龙老师的Oracle数据库系统工程师培训的视频教程下载,一共57讲,教程涉及到内存结构、物理结构、备份和恢复、安全审计、性能调优等等技术点.    该课程系统详细的介绍了Oracle数据库的整个过程,让您从基础入门到精通,贯穿整个学习.      第一讲:Oracle数据库系统基础.

首席工程师揭秘:LinkedIn大数据后台是如何运作的

- - 博客园_知识库
   英文原文: The Log: What every software engineer should know about real-time data's unifying abstraction.   我在六年前的一个令人兴奋的时刻加入到LinkedIn公司. 从那个时候开始我们就破解单一的、集中式数据库的限制,并且启动到特殊的分布式系统套件的转换.

你不知道的数据工程师:80% 时间都在做「大数据苦工」

- - TECH2IPO创见
以为数据工程师每天做的就是像 http://hackertyper.net/ 这样,然后创造了一个又一个伟大的产品吗. 纽约时报记者 采访了多位大数据工程师,他们表示自己 80% 的时间都在当「大数据苦工」,干的都是非人类可以想象的枯燥繁琐的工作——从海量的原始数据中提取有用数据,整理,转换格式,调整为算法可以理解的同样格式的规整数据…….

Spotify工程师讲述如何使用“无聊”技术完成服务发掘和数据库服务

- - InfoQ cn
Björn Edström是互联网音乐服务Spotify的工程师,在Spotify的官方博客中,他讲述了 Spotify为什么要使用一些“无聊”技术的原因. 在Spotify的后端服务和架构中,我们使用了这些成熟和经过验证的技术,我会说明如何实现,以及这样做的原因. 此外,我们还会试图说明Spotify何时不会使用某些经过验证的技术,背后的原因以及它们的问题.

日志:每个软件工程师都应该知道的有关实时数据的统一概念

- - 鸟窝
原文链接: The Log: What every software engineer should know about real-time data's unifying abstraction - Jay Kreps. 基于开源中国社区的译文稿: 日志:每个软件工程师都应该知道的有关实时数据的统一概念.

一行命令导致的数据丢失,阿里工程师是如何恢复的?

- - 机器之心
阿里妹导读:数据安全性被提到了前所未有的高度,数据保护的话题越来越成为敏感. 因为,业务的中断时间对用户造成的影响愈来愈大. 阿里技术专家凡钧从数据安全的形势与发展,面临的挑战,问题的定义,传统的解决方案,当前云厂商的解决方案,去阐述什么是连续数据保护并提出了弹性的可验证的连续数据保护方案(Elastic Assured Continuous Data Protection).

斯坦福大学教授创建的免费在线大学课程项目Coursera课程报名人数突破150万,再获370万美元投资

- - 36氪
互联网正在传统的各个领域掀起变革,而具有刚性需求的教育撞上了这股浪潮的风尖. 由斯坦福大学教授 Andrew Ng和Daphne Koller创建的 Coursera在获得 1600万美元投资之后,如今再获来自Caltech、Penn以及现有投资者的 370万美元投资. 与此同时,Coursera与另外12所大学达成合作协议.

遭遇工程师

- Chrisoul - 槽边往事
谢谢大家的关心,几个小时前Google Plus恢复了我的帐号,看来暂时我还不用离开. 因为前一篇Blog的缘故,有些网友猜测是因为博文而使得我获释. 虚荣心让我想立即承认这一点,但是对不起,真的不是这样的,我的Blog并没有那么大影响力,尤其是在英文世界里. 而且,因为我上次张贴了一张人类进化谱系的漫画,我在国外驻京记者圈里成功赢得了“种族主义者”这一臭名昭著的称号,大概没有什么人愿意帮助一个黄种人中的“种族主义者”.