目前大數據已經成為了各家互聯網公司的核心資產和競爭力了,其實不僅是互聯網公司,包括傳統企業也擁有大量的數據,也想把這些數據發揮出作用。在這種環境下,大數據技術的重要性和火爆程度相信沒有人去懷疑。
而AI人工智能又是基于大數據技術基礎上發展起來的,大數據技術已經很清晰了,但是AI目前還未成熟啊,所以本文就天馬行空一下,從大數據的技術變遷歷史中來找出一些端倪,猜一猜AI人工智能未來的發展。
最近斷斷續續的在看《極客時間》中「 從0開始學大數據 」專欄的文章,受益匪淺,學到了很多。尤其是非常喜歡作者李智慧講的那句話“學習大數據最好的時間是十年前,其次就是現在”,把這句話改到AI也適用,“學習AI最好的時間是十年前,其次就是現在”,任何知識都是這樣。下面我們就來詳細聊一聊。
一、先聊一聊大數據技術發展史?
我們使用的各種大數據技術,最早起源于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 程序去執行。
這下子就簡單了,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也都很熱門。
二、再看一看大數據技術架構?
了解大數據相關技術可以先看下圖:
(圖片來源網絡)
這圖基本上很全面的展示了大數據的技術棧,下面將其主要的部分羅列一下,以便有個清晰的認知:
大數據平臺基礎:
- 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,開源的機器學習系統
三、猜一猜AI人工智能的發展?
通過上面的回顧,我們知道了,因為大量數據的產生導致大數據計算技術 MapReduce 的出現,又因為 MapReduce 的參與門檻問題,導致了 Pig、Hive的出現,正是因為這類上手容易的工具的出現,才導致大量的非專業化人員也能參與到大數據這個體系,因此導致了大數據相關技術的飛速發展和應用,又從而進一步推動了機器學習技術的出現,有了現在的AI人工智能的發展。
但目前人工智能技術的門檻還比較高,并不是任何企業都能入場的,需要非常專業化的高端技術人才去參與,普通人員只能望而卻步,因此AI技術的應用受到了極大的限制,所以也不斷的有人提出對人工智能提出質疑。
講到這里,有沒有發現點什么問題?
歷史的規律總是那么相似??梢圆聹y一下,人工智能的門檻有一天也會像 MapReduce 的開發門檻一樣被打破,一旦人工智能的參與門檻降低了,各類大小企業都能結合自己的業務場景進入AI領域發揮優勢了,那AI就真的進入高速發展的通道了,AI相關實際應用的普及就指日可待了。
恩,一定是這樣的,哈哈,現在就可以等著大牛們將AI的基礎平臺建設好,然后降低參與門檻,進一步就迎來了AI的一片光明,大家從此就可以過上AI服務人類的美好生活了(暢想中…)。
以上,就是從大數據技術變遷想到AI人工智能發展的一些想法。
-
人工智能
+關注
關注
1796文章
47674瀏覽量
240290 -
機器學習
+關注
關注
66文章
8438瀏覽量
133086 -
大數據
+關注
關注
64文章
8908瀏覽量
137794
發布評論請先 登錄
相關推薦
評論