精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

董老師開講了:系列一之大數據入門

責任編輯:editor006

作者:硅發布

2015-01-27 15:32:53

摘自:百度百家

摘要 : 在硅谷,大家非常熱情地談創業談機會,我也通過自己觀察和積累,看到不少最近幾年涌現的熱門創業公司。下面是 Hortonworks 提出的數據平臺,這個公司比較強勢,它有最多的 Hadoop Committee 成員,是真正的標準制定者

摘要 : 在硅谷,大家非常熱情地談創業談機會,我也通過自己觀察和積累,看到不少最近幾年涌現的熱門創業公司。我先給大家一個列表,這是華爾街網站全世界創業公司融資規模的一個評選,它本來標題是“十億美金俱樂部”,可以看出不到一年時間,截至今年 1 月 17 日,排名和規模已經發生很大變化。

在硅谷,大家非常熱情地談創業談機會,我也通過自己觀察和積累,看到不少最近幾年涌現的熱門創業公司。我先給大家一個列表,這是華爾街網站全世界創業公司融資規模的一個評選,它本來標題是“十億美金俱樂部”,可以看出不到一年時間,截至今年 1 月 17 日,排名和規模已經發生很大變化。

首先,估值在十億美金的公司達到 7 家,而一年前都沒有;第二,第一名是中國的小米;第三,前 20 名中,絕大多數(八成在美國,在加州,在硅谷,在舊金山!)比如 Uber、Airbnb、Dropbox、Pinterest;第四,里面也有不少相似模式成功的,比如 Flipkart 就是印度市場的淘寶,Uber 與 Airbnb 都是共享經濟的范疇。

所以,大家還是可以在移動(Uber)、大數據(Palantir)、消費級互聯網、通訊(Snapchat)、支付(Square)及 O2O App 里尋找大機會。這里面,很多公司我都曾面試和感受過他們環境,下面有機會我也會給大家一一詳細介紹。

第二,在 Linkedin,每年會評選一個最有需求的創業公司名單,基本是結合 Linkedin 用戶訪問量和申請數做出的挖掘。下面,我列出最近 3 年數據,大家可以做個判別和趨勢分析。

里面還是很靠譜的,比如不少上榜名單已成功 IPO(GoPro、Hortonworks、Splunk),里面有很多大數據領域公司(Splunk,、Box,、Nimble Storage、Violin Memroy, Dropbox),而除了之前看到的一些互聯網項目,在一些醫療健康(Theranos)、智能硬件(Leap motion、Fitbit、Jawbone)、在線教育(Coursera)也吸引很大注意力。

第三,看了那么多高估值公司,很多人都覺得非常瘋狂,是不是很大泡沫了,泡沫是不是要破了,這是很多人的疑問。在硅谷這個充滿夢想的地方,投資人鼓勵創業者大膽去發展同樣也助長泡沫,很多項目在幾個月時間估值就會翻 2、3 倍,例如在 Uber、Snapchat 上,我也驚訝他們的巨額融資規模和顛覆速度。

下面這張圖,就是講新事物的發展規律,這是硅谷孵化器 YCombinator 公開課 How to start a startup 提到的。一個新 Idea 加上一點點原型,就會迅速吸引眼球,然后先驅者引發潮流,在大眾爆發把泡沫吹到極致,接下來就是各種負面質疑,名聲一落千丈,而這時離 Peak 也許才過去幾個月。

但這東西本質沒有變,從“看山不是山”到“看山還是山”,這段重心回歸到產品上重新積累用戶,然后就到了可持續增長的健康軌道上。從 Quora 網站流量、Tesla 股票到比特幣,你都發現它們驚人的匹配這張圖的某個節點。背后不變的是人性,舉例在牛市,大家都很容易掙錢,但只有熬過最痛苦的時代(比如金融危機),才能體會事物發展本質和踏實的意義。

第四,未來趨勢是什么?大家都很關心。我先提最近看的一部電影《Imitation Game》,它講的是計算機邏輯奠基者艾倫圖靈艱難的一生,當年為破譯德軍密碼制作了圖靈機為二戰勝利作出卓越貢獻,挽回幾千萬人的生命,可在那個時代因為同性戀被判化學閹割,自殺結束了短暫的 42 歲生命。

他的一個偉大貢獻就是在人工智能的開拓,他提出圖靈測試(Turing Test),測試某機器是否能表現出與人等價或無法區分的智能。我們現在回到今天,人工智能已有很大進步,從專家系統到基于統計的學習,從支持向量機到神經網絡深度學習,每一步都帶領機器智能走向下一個階梯。

谷歌資深科學家吳軍博士提出當前技術發展的三個趨勢:第一,云計算和和移動互聯網,這是正在進行時;第二,機器智能,現在開始發生,但對社會的影響很多人還沒意識到;第三,大數據和機器智能結合,這是未來時,一定會發生,有公司在做,但還沒太形成規模。

他認為未來機器會控制 98% 的人,而現在我們就要做個選擇,怎么成為剩下的 2% ?李開復在 2015 年新年展望也提出未來五年物聯網帶來龐大創業機會。

大數據入門

接下來,我講一講大數據入門。先來做個思考,以前有個國王很闊綽也很愛排場,有天,他很高興想獎賞他的寵臣,然后說,讓他來提任何獎勵。

這個大臣給國王看下面這個棋盤,是個 8*8 的方格,如果我在每個標號的格子內放米粒,第一個格子放 1 粒米,后面格子總是前面格子的兩倍。那么問題來了,如果我把整個棋盤放滿,需要多少米粒?

我們學過級數的話,可以快速做個演算,它的推演是 1 + 2 + 4 … + 2^63 = 2^64 – 1 。這個數字多大很多人沒印象,反正如果真要兌現的話,這個國家肯定是破產了。

其實我把這個棋盤分成上下兩半,在上一半總共需要的米粒是 2^32,這并不是個很大的數,其實前幾年計算機的 32 位就是那么大,但下半場就完全不一樣了,這是個平方級別的規模,我下面會給大家一個交代。現在大家也經常聽到什么手機 64 位處理器,并無實際意義。

我們接著看看這張曲線圖是信息時代的增長,其實工業革命前(1820 年),世界人均 GDP 在 1800 年前的兩三千年里基本沒變化,而從 1820 年到 2001 年 180 年里,世界人均 GDP 從原來 667 美元增長到 6049 美元。

由此足見,工業革命帶來的收入增長的確翻天覆地。這里面發生了什么?大家可以思考一下。但人類的進步,并沒停止或者說穩步增長,在發明了電力、電腦、互聯網、移動互聯網,全球年 GDP 增長 從萬分之 5 到 2%,信息也是在急劇增長。根據計算,最近兩年信息量是之前 30 年總和,最近 10 年是遠超人類所有之前累計信息量之和。

在計算機時代,有個著名摩爾定律,就是說同樣成本每隔 18 個月晶體管數量會翻倍,反過來,同樣數量晶體管成本會減半。這個規律已經很好匹配了最近 30 年的發展,并且可以衍生到很多類似領域:存儲、功耗、帶寬、像素。

而最下面這個頭像是馮諾伊曼,20 世紀最重要數學家之一,在現代計算機、博弈論和核武器等諸多領域有杰出建樹的最偉大科學全才之一。他提出技術會逼近人類歷史上某種本質的奇點,在那后,全部人類行為都不可能以我們熟悉的面貌繼續存在。

這就是著名的“奇點理論”,目前會呈越來越快的指數性增長,美國未來學家 Ray Kurzweil 稱:人類能在 2045 年實現數字化永生,他自己也創辦奇點大學,相信隨信息技術、無線網、生物、物理等領域的指數級增長,將在 2029 年實現人工智能,人的壽命也將會在未來 15 年得到大幅延長。

我們再回到現在,地球上至今的數據量從 GB、TB、PB、EB 到達 ZB,我們之前提出的 2^64 就相當于 16EB 的大小。

大數據有什么用?

所謂“學以致用”,大數據領域在各行業都可以應用,這里舉幾個有趣的例子。在 Linkedin 時,CEO 提出“經濟圖譜”的概念,希望整合用戶、公司、工作機會、技能、學校和帖子變成一個復雜而有蘊含無限可能的數字化社會。

比如說找對象,有個國外極客,他抓取約會網站的數據,根據一些指標如地理、年齡、興趣,建立下面的 3D 模型找到真愛;又如阿里巴巴通過數據魔方(它們的大數據產品),提煉出消費跟女生胸部成正比的結論。

在移動 App 上,今日頭條通過你的個人社會化信息,建起興趣圖譜推薦文章并隨你的使用會越來越聰明;在線教育領域:MOOC 中的 M 就是大規模的意思;其他如互聯網金融人人貸,通過大數據積累信用,釋放一些傳統金融體系下未被滿足而又廣泛存在的巨大需求,最近也是拿到 1.3 億美金融資。硅谷有家 Wealthfront 做大數據理財,23andMe 提供個人基因組的“大數據”等等。

下面是 2014 年別人總結的大數據公司列表,我們大致可以分成基礎架構和應用,而底層都是會用到一些通用技術,如 Hadoop、Mahout、HBase 和 Cassandra,我在下面也會涵蓋。

我可以舉幾個例子,在分析這塊,Cloudera、hortonworks、mapr 作為 Hadoop 三劍客,一些運維領域,mangodb、couchbase 都是 nosql 代表,作為服務領域 AWS 和 Google BigQuery 劍拔弩張,在傳統數據庫,甲骨文收購了 MySQL、DB2 老牌銀行專用,Teradata 做了多年數據倉庫。

上面的 Apps 更多,比如社交消費領域的谷歌、亞馬遜、Netflix、Twitter、商業智能:SAP、GoodData,一些在廣告媒體領域:TURN、Rocketfuel,做智能運維 sumologic 等等。最后還有個去年的新星 Databricks 伴隨著 Spark 的浪潮震撼 Hadoop 的生態系統。

大數據之中國公司

對迅速成長的中國市場,大公司也意味大數據,BAT 三家都是對大數據投入不惜余力,我 4 年前在百度時,百度就提出框計算的東東,最近兩年成立硅谷研究院,挖來 Andrew Ng 做首席科學家,研究項目就是百度大腦,在語音、圖片識別大幅提高精確度和召回率,最近還做了個無人自行車非常有趣。

騰訊作為最大社交應用對大數據也情有獨鐘,自己研發 C++ 平臺的海量存儲系統。淘寶去年雙十一主戰場,2 分鐘突破 10 億,交易額突破 571 億,背后是有很多故事,當年在百度做 Pyramid(按谷歌三輛馬車打造的金字塔三層分布式系統)有志之士,繼續在 OceanBase 創造神話。

而阿里云當年備受爭議,馬云也在懷疑是不是被王堅忽悠,最后經歷了雙十一洗禮證明 OceanBase 和阿里云的靠譜。小米的雷軍對大數據也是寄托厚望,一方面,這么多數據幾何級數增長;另一方面存儲帶寬都是巨大成本,沒價值就真破產。

大數據相關技術,最緊密的就是云計算,我列出主要是 Amazon Web Service 和 Google Cloud Platform,在國內還有阿里云、金山云、百度云、騰訊云、小米云、360 云、七牛……每個里面都是大量技術文檔和標準,從計算到存儲,從數據庫到消息,從監控到部署管理,從虛擬網絡到 CDN,把所有一切用軟件重新定義了一遍。

先來講亞馬遜的云。我本人在亞馬遜云計算部門工作過,所有還是比較了解 AWS,總體上成熟度很高,有大量創業公司都是基于上面開發,比如有名的 Netflix、Pinterest、Coursera。

亞馬遜還是不斷創新,每年召開 reInvent 大會推廣新的云產品和分享成功案例,在這里面我隨便說幾個,像 S3 是簡單面向對象的存儲,DynamoDB 是對關系型數據庫的補充,Glacier 對冷數據做歸檔處理,Elastic MapReduce 直接對 MapReduce 做打包提供計算服務,EC2 就是基礎的虛擬主機,Data Pipeline 會提供圖形化界面直接串聯工作任務。

這邊還可以說一下 Redshift,它是一種(Massively Parallel Computer)架構,是非常方便的數據倉庫解決方案,就是 SQL 接口,跟各個云服務無縫連接,最大特點就是快,在 TB 到 PB 級別非常好的性能,我在工作中也直接使用,它還支持不同硬件平臺,如果想速度更快,可以使用 SSD 的,當然支持容量就小些。

在數據庫領域,我就列出三種代表,一類是關系型數據庫管理系統,它的特點是 A(Atomic)、C(consistent)、I(isolation)、D(duration),連起來就是 ACID(酸)。簡單說,就是支持事務回滾和外鍵關聯,而 NoSQL 是與之對應的 Base(堿),所謂 Basic 可用,為了擴大 Scale,犧牲一些一致性和事務。而谷歌提出 F1,希望解決在大規模數據同時還要做到事務強一致性。在這里面都是非常常見的 NoSQL, 這些公司可能你都沒聽過,但它們都是融資過億,估值都非常高,在幾個 Billion 以上。

我會花一些篇幅介紹 Hadoop,首先看 Hadoop 從哪里開始的,不得不提谷歌的先進性,在 10 多年前,谷歌出了 3 篇論文論述分布式系統的做法,分別是 GFS、MapReduce、BigTable,非常牛逼的系統,但沒人見過,在工業界很多人癢癢的,就想按其思想去仿作。

當時,Apache Nutch Lucene 作者 Doug Cutting 也是其中之一,后來他們被雅虎收購,專門成立團隊去投入做,就是 Hadoop 的開始和大規模發展的地方,之后隨著雅虎衰落,牛人去了 Facebook、谷歌,也有成立 Cloudera、Hortonworks 等大數據公司,把 Hadoop 的實踐帶到各個硅谷公司。

而谷歌還沒停止,又出了新的三輛馬車:Pregel、Caffeine 和 Dremel,后來又有很多步入后塵,開始新一輪開源大戰。

那么為啥 Hadoop 就比較適合做大數據呢?首先擴展很好,直接通過加節點就可以把系統能力提高,它有個重要思想是:移動計算而不是移動數據,因為數據移動是很大的成本需要網絡帶寬。

其次,它提出的目標就是利用廉價普通計算機(硬盤),這樣雖然可能不穩定(磁盤壞的幾率),但通過系統級別上的容錯和冗余達到高可靠性。并且非常靈活,可以使用各種data,二進制、文檔型、記錄型。使用各種形式(結構化、半結構化、非結構化所謂的schemaless),在按需計算上也是個技巧。

另一個問題,我們提到 Hadoop 一般不會說某個東西,而是指生態系統,在這里面太多交互的組件了,涉及到 IO、處理、應用、配置、工作流。在真正的工作中,當幾個組件互相影響,你的頭疼的維護才剛剛開始。

我也簡單說幾個:Hadoop Core 就三個 HDFS、MapReduce、Common,在外圍有 NoSQL: Cassandra、HBase,有 Facebook 開發的數據倉庫 Hive,有雅虎主力研發的 Pig 工作流語言,有機器學習算法庫 Mahout,工作流管理軟件 Oozie,在很多分布式系統選擇 Master 中扮演重要角色的 Zookeeper。

下面是 Hortonworks 提出的數據平臺,這個公司比較強勢,它有最多的 Hadoop Committee 成員,是真正的標準制定者,而 2.0 就是由它們提出。

在 Hadoop 1.0 前,是 0.16 到 0.19、0.20,還有一只是 0.23 進化成現在的 2.0,應該說,現在大致都被 2.0 取代了,主要區別是 1.0 只能支持 MapReduce 框架、資源和數據處理限制在一起。

而 2.0 首先抽象出 Yarn 這個資源管理器,然后上層可以支持各種插件機制,便于擴展,Hortonworks 還研發了 Tez 作為加速引擎把一些相關任務合并共享或者并行來優化。

下面這個是英特爾給出的 Hadoop Stack,英特爾也是個對技術前沿由追求的公司,雖然它主業是處理器,但在互聯網的時代,為抓住一些軟件機會,它們也在積極融合,為生態系統做貢獻。

另外,Cloudera 是老牌 Hadoop 公司,成立 7、8 年了,當年 Hadoop 之父就是在那做首席架構,它提出的 CDH 版本是很多公司的穩定 Hadoop 版本,一般公司也不會自己去搭 Hadoop 最新版,否則出了 Bug 會很痛苦,它提供了一個打包方便部署。

涉及技術細節甚至源代碼

下面內容涉及技術細節甚至源代碼,可能有些枯燥,我也盡量深入淺出。我們先說 HDFS,所謂 Hadoop 的分布式文件系統,它是能真正做到高強度容錯。并且根據 locality 原理,對連續存儲做了優化。

簡單說,就是分配大的數據塊,每次連續讀整數個。如果讓你自己來設計分布式文件系統,在某機器掛掉還能正常訪問該怎么做?首先需要有個 master 作為目錄查找(這里就是 Namenode),那么數據節點是作為分割好一塊塊的,同一塊數據為了做備份不能放到同一個機器上,否則這臺機器掛了,你備份也同樣沒辦法找到。

HDFS 用一種機架位感知的辦法,先把一份拷貝放入同機架上的機器,然后在拷貝一份到其他服務器,也許是不同數據中心的,這樣如果某個數據點壞了,就從另一個機架上調用,而同一個機架它們內網連接是非常快的,如果那個機器也壞了,只能從遠程去獲取。這是一種辦法,現在還有基于 erasure code 本來是用在通信容錯領域的辦法,可以節約空間又達到容錯的目的,大家感興趣可以去查詢。

接著說 MapReduce,首先是個編程范式,它的思想是對批量處理的任務,分成兩個階段,所謂的 Map 階段就是把數據生成 key、value pair 再排序,中間有一步叫 shuffle,把同樣的 key 運輸到同一個 reducer 上面去,而在 reducer 上,因為同樣 key 已經確保在同一個上,就直接可以做聚合,算出一些 sum, 最后把結果輸出到 HDFS 上。對應開發者來說,你需要做的就是編寫 Map 和 reduce 函數,像中間的排序和 shuffle 網絡傳輸,容錯處理,框架已經幫你做好了。但據說,谷歌內部早不用這種,又有新的強大工具出現了。

HBase 就是對應的 BigTable 的克隆版,它是基于列的存儲,可以很好的擴展型,這里面出現了 Zookeeper 作為它高可靠性的來源,我們在分布式系統中經常怕 Single Point of Failure,它能保證在少于一半節點損害情況下,還是可以工作的。

這里的 region server 是說把數據的 key 做范圍劃分,比如 region server1 負責 key 從 1 到 1w 的,region server2 負責 1w 到 2w 的,這樣劃分之后,就可以利用分布式機器的存儲和運算能力了。

雖然 MapReduce 強大,但編寫很麻煩,在一般工作中,大家不會直接寫 MapReduce 程序。有人又開動大腦,簡化開發。Hive 的簡單介紹,它主要是 Facebook 開發,確實很容易上手,如果做 data scientist,經常也要用到這個工具。

我們想 MapReduce 模型有什么問題?第一:需要寫很多底層的代碼不夠高效,第二:所有事情必須要轉化成兩個操作,這本身就很奇怪,也不能解決所有的情況。那么下面就看看有什么可以做的更好的。

Spark 介紹

我還是介紹一些 Spark 的起源。Berkeley AMPLab,發表在 hotcloud 是一個從學術界到工業界的成功典范,也吸引了頂級 VC:Andreessen Horowitz 的注資。

AMPLab 這個實驗室非常厲害,做大數據、云計算,跟工業界結合很緊密,之前就是他們做 mesos、hadoop online,在 2013 年,這些大牛(Berkeley 系主任、MIT 最年輕的助理教授)從Berkeley AMPLab 出去成立了 Databricks,引無數 Hadoop 大佬盡折腰,其實也不見得是它們內心這么想,比如 Cloudera 也有自家的 impala,支持 Spark 肯定會讓它自家很難受,但如果你的客戶強烈要求你支持,你是沒有選擇的

另外起名字也很重要,Spark 就占了先機,它們 CTO 說 Where There’s Spark There’s Fire,它是用函數式語言 Scala 編寫,Spark 簡單說就是內存計算(包含迭代式計算,DAG 計算、流式計算 )框架,之前 MapReduce 因效率低下大家經常嘲笑,而 Spark 的出現讓大家很清新。Reynod 作為 Spark 核心開發者, 介紹 Spark 性能超 Hadoop 百倍,算法實現僅有其 1/10 或 1/100。

那為啥用 Spark 呢?最直接就是快啊,你用 Hadoop 跑大規模數據幾個小時跑完,這邊才幾十秒,這種變化不僅是數量級的,并且是對你的開發方式翻天覆地的變化,比如你想驗證一個算法,你也不知道到底效果如何,但如果能在秒級就給你反饋,你可以立馬去調節。

其他的如比 MapReduce 靈活啊,支持迭代的算法,ad-hoc query,不需你費很多力氣花在軟件搭建上。如果說你用 Hadoop 組建集群、測試、部署一個簡單任務要 1 周時間,Spark 可能只要一天。在去年的 Sort benchmark 上,Spark 用了 23 分鐘跑完 100TB 的排序,刷新之前 Hadoop 保持的世界紀錄。

下面這個圖,是 Hadoop 跟 Spark 在回歸算法上比較,在 Hadoop 世界里,做迭代計算是非常耗資源,它每次的 IO 序列畫代價很大,所以每次迭代需要差不多的等待。而 Spark 第一次啟動需要載入到內存,之后迭代直接在內存利用中間結果做不落地的運算,所以后期迭代速度快到可以忽略不計。

此外,Spark 也是一個生態系統,除核心組建 Spark,它也可以跑在 Hadoop 上,還提供了很多方便的庫,比如做流式計算,Spark Streaming,比如 GraphX 做圖的運算,MLBase 做機器學習,Shark 類似 Hive,BinkDB 也很有意思,為達到高效,它允許你提供一個誤差概率,如果你要求精確度越低,它運算速度就越快,在做一些模糊計算時像 Twitter 的 Follower 數目,可以提高效率。

所以總體說,Spark 是一個非常精煉的 API,提供常用的集合操作,然后本身可以獨立運行,或在 Hadoop Yarn 上面,或者 Mesos,而存儲也可以用 HDFS,做到了兼容并包,敏捷高效。是不是會取代 Hadoop 或成為 Hadoop 的下一代核心,我們拭目以待!

如何學習大數據

那同學們如果問如何開始學習大數據,我也有一些建議,首先還是打好基礎,Hadoop 雖然火熱,但它的基礎原理,都是書本上很多年的積累,像 Unix 設計哲學、數據庫的原理;

其次是選擇目標,如果你想做數據科學家,我可以推薦 Coursera 的數據科學課程,通俗易懂,學習 Hive、Pig 這些基本工具;如果做應用層,主要是把 Hadoop 的一些工作流要熟悉,包括一些基本調優;如果是想做架構,除能搭建集群,對各基礎軟件服務很了解,還要理解計算機的瓶頸和負載管理,Linux 的一些性能工具。

最后,還是要多加練習,大數據本身就是靠實踐,你可以先按 API 寫書上的例子,能夠先調試成功,在下面就是多積累,當遇到相似問題能找到對應的經典模式,再進一步就是實際問題,也許周邊誰也沒遇到,你需要些靈感和網上問問題的技巧,然后根據實際情況作出最佳選擇。

鏈接已復制,快去分享吧

企業網版權所有?2010-2025 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 祥云县| 西藏| 藁城市| 区。| 社旗县| 平定县| 浦东新区| 泰来县| 阜康市| 长寿区| 漯河市| 泰安市| 綦江县| 麦盖提县| 桂东县| 松桃| 卓资县| 南华县| 盐亭县| 波密县| 彰化市| 定兴县| 霍林郭勒市| 洪洞县| 鸡泽县| 凉山| 秦安县| 攀枝花市| 始兴县| 永新县| 永济市| 永靖县| 新乡县| 衡山县| 彝良县| 潜江市| 九寨沟县| 银川市| 富裕县| 章丘市| 梁河县|