Coursera數據工程師董飛:硅谷大數據的過去與將來

非商業轉載請註明做譯者、出處,並保留本文的原始連接:http://www.ituring.com.cn/article/177529前端

董飛,Coursera數據工程師。曾前後在創業公司酷迅,百度基礎架構組,Amazon 雲計算部門,LinkedIn擔任高級工程師,負責垂直搜索,百度雲計算平臺研發和廣告系統的架構。董飛本科畢業於南開大學,碩士畢業於杜克大學計算機系。他在知乎上分享過多個引發強烈反響的問答,其中包括《哪些硅谷創業公司能給拜訪者留下深入印象》《美國大數據工程師面試攻略》《Coursera 上有哪些課程值得推薦》等。面試

圖片描述

問:硅谷最火的高科技創業公司都有哪些?算法

在硅谷你們很是熱情地談創業談機會,我也經過本身的一些觀察和積累,看到了很多最近幾年涌現的熱門創業公司。這個是華爾街網站的全世界創業公司融資規模評選。它原本的標題是billion startup club,不到一年的時間,截至到2015年1月17日,如今的排名和規模已經發生了很大的變化。數據庫

01mtef6j3sKF

  • 首先,估值在10 Billlon的達到了7家,而一年前一家都沒有。
  • 第2、第一名是中國人家喻戶曉的小米。
  • 第3、前20名中,絕大多數(8成在美國,在加州,在硅谷,在舊金山!)好比Uber,Airbnb,Dropbox,Pinterest。
  • 第4、裏面也有很多類似的成功模式,好比Flipkart就是印度市場的淘寶,Uber與Airbnb都是共享經濟的範疇。

因此你們仍是能夠在移動(Uber),大數據(Palantir),消費級互聯網,通信(Snapchat),支付(Square),O2O App裏面尋找到大機會。這裏面不少公司我都親自面試和感覺過他們的環境。apache

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

我認爲在硅谷這個充滿夢想的地方,投資人鼓勵創業者大膽去作,一樣也滋長了泡沫。不少項目在幾個月的時間就會估值翻二、3倍,如Uber,Snapchat等等,我也驚訝於他們的鉅額融資規模。後端

下面這張圖講的就是「新興技術炒做」週期,把各種技術按照技術成熟度和指望值分類,這是硅谷創業孵化器YCombinator的課程How to start a startup提到的。「創新萌芽(Innovation Trigger)」、「指望最頂點(Peak ofInflated Expectation)」、「下調預期至低點(Trough of Disillusion)」、「迴歸理想(Slope ofEnlightenment)」、「生產率平臺(Plateau of Productivity)」。越往左,技術約新潮,越處於概念階段;越往右,技術約成熟,越容易進入商業化應用,發揮出提升生產率的效果。縱軸表明預期值,人們對於新技術一般會隨着認識的深刻,預期不斷升溫,伴之以媒體炒做而到達頂峯;隨之因技術瓶頸或其餘緣由,預期逐漸冷卻至低點;但技術成熟後,指望又從新上升,從新積累用戶,而後就到了可持續增加的健康軌道上來。今年和去年的圖對比顯示,物聯網、自動駕駛汽車、消費級3D打印、天然語言問答等概念正在處於炒做的頂峯。而大數據已從頂峯滑落,NFC和雲計算接近谷底。設計模式

01mtefIK49x6

問:你認爲將來高科技創業的趨勢是什麼?微信

我先提一部最近看過的電影《模仿遊戲》(Imitation Game),這部影片講的是計算機邏輯的奠定者艾倫圖靈艱難的一輩子。他當年爲破譯德軍密碼製做了圖靈機爲二打敗利作出卓越貢獻,挽回幾千萬人的生命,可在那個時代,他由於是同性戀而被判化學閹割,最後自殺結束了短暫的42歲生命。他的偉大貢獻之一就是在人工智能方面的開拓,他提出圖靈測試(Turing Test),測試某機器是否能表現出與人等價或沒法區分的智能。在今天,人工智能已經有了很大進步,從專家系統到基於統計的學習,從支持向量機到神經網絡深度學習,每一步都帶領機器智能走向下一個階梯。網絡

Google的資深科學家吳軍博士(《數學之美》,《浪潮之巔》做者),他提出當前技術發展三個趨勢:第1、雲計算和和移動互聯網,這是正在進行時;第2、機器智能,如今開始發生,但對社會的影響不少人尚未意識到;第3、大數據和機器智能結合,這是將來時,必定會發生,有公司在作,但尚未太造成規模。他認爲將來機器會控制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 會提供圖形化界面直接串聯工做任務。

01mtefISvL75

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模型有什麼問題?

第1、須要寫不少底層的代碼,不夠高效。第2、全部的事情必需要轉化成兩個操做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寫書上的例子,作到有能力調試成功。再下面就是多積累,當遇到類似的問題時能找到對應的經典模式。而後就是實際問題了,也許周邊誰也沒遇到過這樣的問題,你須要靈感和在網上問問題的技巧,而後根據實際狀況做出最佳選擇。


更多精彩,加入圖靈訪談微信!

圖片描述

相關文章
相關標籤/搜索