1. 程式人生 > >大資料發展趨勢和Spark介紹

大資料發展趨勢和Spark介紹

大資料是隨著計算機技術、通訊技術、網際網路技術的發展而產生的一種現象。

以前我們沒有實現人和人之間的連線,產生的資料沒有現在這麼多;或者說沒有把產生的資料記錄下來;即使記錄下來,我們也沒有很好的工具對這些資料進行處理、分析和挖掘。而隨著大資料技術的發展,我們開始逐漸地擁有這種能力,來發掘資料中的價值。

我還是要推薦下我自己建立的大資料資料分享群142973723,這是大資料學習交流的地方,不管你是小白還是大牛,小編都歡迎,不定期分享乾貨,包括我整理的一份適合零基礎學習大資料資料和入門教程。

大資料技術在2012年之前是以MapReduce為代表的批處理技術;2013年之後,則是以Spark為代表的大資料處理引擎;展望未來,大家越來越關注人工智慧和大資料的結合,希望通過人工智慧技術從大資料中挖掘更多的價值。近年來人工智慧的爆發,也正是得益於大資料技術在儲存、算力和演算法上的飛速發展,所以人工智慧和大資料是密不可分的,離開大資料,人工智慧也是無源之水,無木之本。我們可以打個比方,如果把人工智慧比喻成火箭,那麼大資料技術就是推動這艘火箭的燃料。

以上我們從巨集觀的角度來看大資料技術的發展趨勢,下面讓我們以一個技術人員的角度,來看看當前大多數企業中所使用的大資料平臺的系統架構。

首先企業會從各個渠道收集資料,這些資料通過訊息訂閱系統,一部分會經過一些流失的計算和處理,支援線上和實時的分析;另一部分資料則進入到相對靜態的資料湖中,中間會涉及到資料的清洗、過濾、再加工等操作,另外還可以對資料進行結構調整來優化業務,如合併大量小檔案等等。資料湖中這些資料可以用來支援商業分析報表、資料探勘、人工智慧等應用。事實上Spark是當前使用最普遍的大資料計算引擎。在各個大企業的業務系統中,都把Spark作為資料處理和分析的核心元件。簡單來說,原始的資料通常需要利用Spark來進行一系列的處理,才能最終應用於人工智慧等應用,可以說Spark已經成為大資料處理領域的一個實施標準。所以在當前大資料+AI的時代,正是因為有了像Spark這樣的大資料技術,才使得企業能夠更快、更好地搭建業務系統,服務於所需的應用,從而充分的結合大資料和AI的能力,進一步發掘資料中的價值。

接下來讓我們一起了解一下Spark。作為大資料技術中的明星,Spark它是一種通用的高效能的叢集計算系統。它起源於UC Berkeley AMP Lab一個研究專案,於2010年開源,2013年加入Apache基金會,如今Spark個在全球已經擁有50萬的Meetup成員,Spark的開源社群有1300+開發者,Spark也被廣泛的使用於企業和高校中。

那麼究竟是什麼讓Spark能得到大家的青睞呢?第一點原因就是它的高效能,比傳統MapReduce要快一百倍以上,讓Spark這個專案在一開始就非常的引人注目。其次,是它的通用性,Spark讓你可以在一個Pipline裡面編寫SQL、Streaming、ML、Graph等多種應用,而在Spark號之前是沒有一個系統能夠做到這一點的。第三點,Spark支援Java、Scala、Python、R、SQL等多種API,而且設計得非常簡潔易用。不光如此,Spark還在其周圍構建豐富的生態,他能夠處理多種資料來源,如HBase、Kafka、MySQL等等,以及多種資料格式,如Parquet、ORC、CSV、JSON等等。此外還支援多種模式的部署,Yarn、Mesos、Kubernetes(也簡稱為K8S),另外Spark也提供獨立的Standalone部署模式。