從大數據技術變遷猜一猜AI人工智能的發展

目前大數據已經成爲了各家互聯網公司的核心資產和競爭力了,其實不只是互聯網公司,包括傳統企業也擁有大量的數據,也想把這些數據發揮出做用。在這種環境下,大數據技術的重要性和火爆程度相信沒有人去懷疑。算法

而AI人工智能又是基於大數據技術基礎上發展起來的,大數據技術已經很清晰了,可是AI目前還未成熟啊,因此本文就天馬行空一下,從大數據的技術變遷歷史中來找出一些端倪,猜一猜AI人工智能將來的發展。數據庫

最近斷斷續續的在看《極客時間》中「 從0開始學大數據 」專欄的文章,受益不淺,學到了不少。尤爲是很是喜歡做者李智慧講的那句話「學習大數據最好的時間是十年前,其次就是如今」,把這句話改到AI也適用,「學習AI最好的時間是十年前,其次就是如今」,任何知識都是這樣。下面咱們就來詳細聊一聊。微信

1、先聊一聊大數據技術發展史?

咱們使用的各類大數據技術,最先起源於Google當年公佈的三篇論文,Google FS(2003年)、MapReduce(2004年)、BigTable(2006年),其實Google當時並無公佈其源碼,可是已經把這三個項目的原理和實現方式在公佈的論文中詳細的描述了,這幾篇論文面世後,就引爆了行業的大數據學習和研究的浪潮。網絡

隨後一個叫 Doug Cutting 的技術大牛(也就是寫 Lucene 的那位,作JAVA的同窗應該都很熟悉)就開始根據Google公佈的論文去開發相關係統,後來慢慢發展成瞭如今的 Hadoop,包括 MapReduce 和 HDFS。架構

可是在當時,使用 MapReduce 進行數據分析和應用仍是有很大門檻的,畢竟要編寫 Map 和 Reduce 程序。只能大數據工程師上馬,普通BI分析師仍是一臉懵逼。因此那個時候都是些大公司在玩。框架

既然有這麼大門檻,就會有人敢於站出來去解決門檻,好比 Yahoo,他們開發一個叫作 Pig 的東西,Pig是一個腳本語言,按照Pig的語法寫出來的腳本能夠編譯成 MapReduce 程序,而後直接在 Hadoop 上運行了。機器學習

這個時候,大數據開發的門檻確實降了一點。分佈式

不過,Pig大法雖好,但仍是須要編寫腳本啊,這仍是碼農的活兒啊。人們就在想,有沒有不用寫代碼的方法就能作大數據計算呢,還真有,這個世界的進步就是由一羣善於思考的「懶人」推進的。工具

因而,Facebook公司的一羣高智商傢伙發佈了一個叫作 Hive 的東西,這個 Hive 能夠支持使用 SQL 語法直接進行大數據計算。原理其實就是,你只須要寫一個查詢的 SQL,而後 Hive 會自動解析 SQL 的語法,將這個SQL 語句轉化成 MapReduce 程序去執行。oop

這下子就簡單了,SQL 是BI/數據分析師們最爲經常使用的工具了,今後他們能夠無視碼農,開開心心的獨立去寫Hive,去作大數據分析工做了。Hive今後就火爆了,通常公司的大多數大數據做業都是由Hive完成的,只有極少數較爲複雜的需求才須要數據開發工程師去編寫代碼,這個時候,大數據的門檻才真真的下降了,大數據應用也才真正普及,大大小小的公司都開始在本身的業務上使用了。

可是,人們的追求不止如此,雖然數據分析便利了,可是你們又發現 MapReduce 程序執行效率不夠高啊,其中有多種緣由,但有一條很關鍵,就是 MapReduce 主要是以磁盤做爲存儲介質,磁盤的性能極大的限制了計算的效率。

在這個時候,Spark 出現了,Spark 在運行機制上、存儲機制上都要優於 MapReduce ,所以大數據計算的性能上也遠遠超過了 MapReduce 程序,不少企業又開始慢慢採用 Spark 來替代 MapReduce 作數據計算。

至此,MapReduce 和 Spark 都已成型,這類計算框架通常都是按「天」爲單位進行數據計算的,所以咱們稱它們爲「大數據離線計算」。既然有「離線計算」,那就必然也會有非離線計算了,也就是如今稱爲的「大數據實時計算」。

由於在數據實際的應用場景中,以「天」爲顆粒出結果仍是太慢了,只適合很是大量的數據和全局的分析,但還有不少業務數據,數據量不必定很是龐大,但它卻須要實時的去分析和監控,這個時候就須要「大數據實時計算」框架發揮做用了,這類的表明有:Storm、Spark Streaming、Flink 爲主流,也被稱爲 流式計算,由於它的數據源像水流同樣一點點的流入追加的。

固然,除了上面介紹的那些技術,大數據還須要一些相關底層和周邊技術來一塊兒支撐的,好比 HDFS 就是分佈式文件系統,用於負責存儲數據的,HBase 是基於HDFS的NoSQL系統、與 HBase相似的還有 Cassandra也都很熱門。

2、再看一看大數據技術架構?

瞭解大數據相關技術能夠先看

(圖片來源網絡)

這圖基本上很全面的展現了大數據的技術棧,下面將其主要的部分羅列一下,以便有個清晰的認知:

大數據平臺基礎:

  • MapReduce,分佈式離線計算框架

  • Spark,分佈式離線計算框架

  • Storm,流式實時計算框架

  • Spark Streaming,流式實時計算框架

  • Flink,流式實時計算框架

  • Yarn,分佈式集羣資源調度框架

  • Oozie,大數據調度系統

分佈式文件系統:

  • HDFS,分佈式文件系統

  • GFS,分佈式文件系統

SQL引擎:

  • Spark SQL (Shark),將SQL語句解析成Spark的執行計劃在Spark上執行

  • Pig,Yahoo的發佈的腳本語言,編譯後會生成MapReduce程序

  • Hive,是Hadoop大數據倉庫工具,支持SQL語法來進行大數據計算,把SQL轉化MapReduce程序

  • Impala,Cloudera發佈的運行在HDFS上的SQL引擎

數據導入導出:

  • Sqoop,專門用將關係數據庫中的數據 批量 導入導出到Hadoop

  • Canal,能夠 實時 將關係數據庫的數據導入到Hadoop

日誌收集:

  • Flume,大規模日誌分佈式收集

大數據挖掘與機器學習:

  • Mahout,Hadoop機器學習算法庫

  • Spark MLlib,Spark機器學習算法庫

  • TensorFlow,開源的機器學習系統

3、猜一猜AI人工智能的發展?

經過上面的回顧,咱們知道了,由於大量數據的產生致使大數據計算技術 MapReduce 的出現,又由於 MapReduce 的參與門檻問題,致使了 Pig、Hive的出現,正是由於這類上手容易的工具的出現,才致使大量的非專業化人員也能參與到大數據這個體系,所以致使了大數據相關技術的飛速發展和應用,又從而進一步推進了機器學習技術的出現,有了如今的AI人工智能的發展。

但目前人工智能技術的門檻還比較高,並非任何企業都能入場的,須要很是專業化的高端技術人才去參與,普通人員只能望而卻步,所以AI技術的應用受到了極大的限制,因此也不斷的有人提出對人工智能提出質疑。

講到這裏,有沒有發現點什麼問題?

歷史的規律老是那麼類似。能夠猜想一下,人工智能的門檻有一天也會像 MapReduce 的開發門檻同樣被打破,一旦人工智能的參與門檻下降了,各種大小企業都能結合本身的業務場景進入AI領域發揮優點了,那AI就真的進入高速發展的通道了,AI相關實際應用的普及就指日可待了。

恩,必定是這樣的,哈哈,如今就能夠等着大牛們將AI的基礎平臺建設好,而後下降參與門檻,進一步就迎來了AI的一片光明,你們今後就能夠過上AI服務人類的美好生活了(暢想中…)。

以上,就是從大數據技術變遷想到AI人工智能發展的一些想法,歡迎你們留言交流,多多點擊文章右下角的「好看」。

本文原創發佈於微信公衆號「 不止思考 」,歡迎關注,交流 互聯網認知、工做管理、大數據、架構、Web等技術。 

 

相關文章
相關標籤/搜索