1. 程式人生 > >初學者如何快速開發大資料分析平臺

初學者如何快速開發大資料分析平臺

大資料在近幾年受到越來越多的關注,如何將大資料快速落地於生產實踐,產生相應的經濟價值一直是一個值得關注的問題。當談到大資料,人們首先想到的是,是不是的linux,是不是的學習java,這給大資料技術的應用帶來一定的困難。如果,有一款通用的大資料平臺,只需要針對具體的業務系統修改資料庫和演算法即可快速使用,那就會加速大資料技術的普及。而且很多的愛好者,均有興趣開發一套大資料分析平臺,那麼對於初學者如何開發一套簡易的資料分析平臺呢?

首先,通過分析網上大量的大資料平臺框架,可以對其進行簡單的抽象,都包含資料採集層,儲存層,資料分析層和業務展現層,網上找的大資料系統架構都差不多,如下所示:(侵刪)
鍋爐遠端集中監控與大資料平臺架構

也就是說,如果想開發一套大資料系統,就得包含這些“層”,通過對這些“層”所包含的技術進行分解,並總結就可以得到開發大資料系統的技術體系。

資料採集層

資料的獲得是大資料的基礎,如果有現成的資料庫,需要存入HDFS中,那麼就需要用到Sqoop,如果是需要對系統的日誌進行收集,則需要使用Flume與Kafka,如果是來此一些感測器的資料,則需要使用一些通訊協議,將資料傳輸至資料庫中。建議熟悉使用MYSQL

儲存層

儲存的話需要掌握的是HDFS的幾條命令,還有Hbase,hive的安裝與使用,資料的儲存方式則是一個需要重點研究的物件,因為資料可能具有多源異構特性,時間差異。儲存的時候則需要考慮需要用何種方式對其儲存,個人覺得基於元資料的儲存數個不錯的選擇,看專案特性吧,有業務針對性的解決問題最重要。

資料分析層

對於一個簡單的資料分析平臺,分析是關鍵的一步,可以使用Spark Sql ,進行資料的抽取與統計,同時對於建模分析來說,可以使用Spark的mllib.當然還有很多的機器學習庫可以使用

業務展現層

業務展現層,我認為是產品溝通使用者的關鍵一步,因此,需要搭建一個用於互動的伺服器。搭建這個伺服器的話一般採用的是C/S架構,也就是傳統的web開發,如果用java做,那麼就會用到傳說中的三大框架,如果用python做的話,那麼flask和Django是個不錯的選擇。搭建好伺服器之後,顯示介面就需要進行考慮,首先需要掌握的就是基本的HTML,CSS,js知識,瞭解如何搭建一個頁面,當然,現在很多的開源框架可供我們使用,僅需要根據需要進行百度就可以找到答案。

總結下學習的順序

做大資料首先的學會搭建大資料平臺,將多臺計算機組成一個叢集,因此
1.叢集搭建(HADOOP,SPARK及相關開發工具的搭建)
2.熟悉大資料生態系統的相關操作元件,並從wordcount開始學習大資料
3.瞭解相應的java開發和scala基礎語言
4.聯絡sparksql的寫法,以及熟悉mllib的示例程式
5.對需要解決的業務問題進行詳細瞭解,並制定對應的互動措施
6.學習三大框架或者是一種伺服器,建議是flask(簡單,快速)
7.根據設計的需要編寫對應的靜態頁面(html,css,js)
8.對於視覺化部分(D3.js,Echart..),需要制定相應的協議,統一格式
9系統的除錯
10對系統的擴充套件

總結

開發資料分析平臺是一個很有意思的事情,需要解決各種問題。歡迎coder進行交流