一般的大數據平臺從平臺搭建到數據分析大概包括以下幾個步驟:
1、Linux系統安裝
一般使用開源版的Redhat系統--CentOS作為底層平臺。為了提供穩定的硬件基礎,在給硬盤做RAID和掛載數據存儲節點的時,需要按情況配置。比如,可以選擇給HDFS的namenode做RAID2以提高其穩定性,將數據存儲與操作系統分別放置在不同硬盤上,以確保操作系統的正常運行。
2、分佈式計算平臺/組件安裝
當前分佈式系統的大多使用的是Hadoop系列開源系統。Hadoop的核心是HDFS,一個分佈式的文件系統。在其基礎上常用的組件有Yarn、Zookeeper、Hive、Hbase、Sqoop、Impala、ElasticSearch、Spark等。
使用開源組件的優點:1)使用者眾多,很多bug可以在網上找的答案(這往往是開發中最耗時的地方);2)開源組件一般免費,學習和維護相對方便;3)開源組件一般會持續更新;4)因為代碼開源,如果出現bug可自由對源碼作修改維護。
常用的分佈式數據數據倉庫有Hive、Hbase。Hive可以用SQL查詢,Hbase可以快速讀取行。外部數據庫導入導出需要用到Sqoop。Sqoop將數據從Oracle、MySQL等傳統數據庫導入Hive或Hbase。Zookeeper是提供數據同步服務, Impala是對hive的一個補充,可以實現高效的SQL查詢
3、數據導入
前面提到,數據導入的工具是Sqoop。它可以將數據從文件或者傳統數據庫導入到分佈式平臺。
4、數據分析
數據分析一般包括兩個階段:數據預處理和數據建模分析。
數據預處理是為後面的建模分析做準備,主要工作時從海量數據中提取可用特徵,建立大寬表。這個過程可能會用到Hive SQL,Spark QL和Impala。
數據建模分析是針對預處理提取的特徵/數據建模,得到想要的結果。如前面所提到的,這一塊最好用的是Spark。常用的機器學習算法,如樸素貝葉斯、邏輯迴歸、決策樹、神經網絡、TFIDF、協同過濾等,都已經在ML lib裡面,調用比較方便。
5、結果可視化及輸出API
可視化一般式對結果或部分原始數據做展示。一般有兩種情況,行數據展示,和列查找展示。
以上就簡單介紹這麼多,如果有小夥伴想了解和學習更多的大數據技術,可以私信小編索要資料
閱讀更多 編程進階007 的文章