徐曉鵬大數(shù)據(jù)實踐者
親身參與,作為主力完成了一個信息大數(shù)據(jù)分析平臺。中間經(jīng)歷了很多問題,算是有些經(jīng)驗,因而作答。
整體而言,大數(shù)據(jù)平臺從平臺部署和數(shù)據(jù)分析過程可分為如下幾步:
1、linux系統(tǒng)安裝
一般使用開源版的Redhat系統(tǒng)–CentOS作為底層平臺。為了提供穩(wěn)定的硬件基礎(chǔ),在給硬盤做RAID和掛載數(shù)據(jù)存儲節(jié)點的時,需要按情況配置。例如,可以選擇給HDFS的namenode做RAID2以提高其穩(wěn)定性,將數(shù)據(jù)存儲與操作系統(tǒng)分別放置在不同硬盤上,以確保操作系統(tǒng)的正常運行。
2、分布式計算平臺/組件安裝
目前國內(nèi)外的分布式系統(tǒng)的大多使用的是Hadoop系列開源系統(tǒng)。Hadoop的核心是HDFS,一個分布式的文件系統(tǒng)。在其基礎(chǔ)上常用的組件有Yarn、Zookeeper、Hive、Hbase、Sqoop、Impala、ElasticSearch、Spark等。
先說下使用開源組件的優(yōu)點:
1)使用者眾多,很多bug可以在網(wǎng)上找的答案(這往往是開發(fā)中最耗時的地方)。
2)開源組件一般免費,學(xué)習(xí)和維護相對方便。
3)開源組件一般會持續(xù)更新,提供必要的更新服務(wù)『當然還需要手動做更新操作』。
4)因為代碼開源,若出bug可自由對源碼作修改維護。
再簡略講講各組件的功能。分布式集群的資源管理器一般用Yarn,『全名是YetAnotherResourceNegotiator』。常用的分布式數(shù)據(jù)數(shù)據(jù)『倉』庫有Hive、Hbase。Hive可以用SQL查詢『但效率略低』,Hbase可以快速『近實時』讀取行。外部數(shù)據(jù)庫導(dǎo)入導(dǎo)出需要用到Sqoop。Sqoop將數(shù)據(jù)從Oracle、MySQL等傳統(tǒng)數(shù)據(jù)庫導(dǎo)入Hive或Hbase。Zookeeper是提供數(shù)據(jù)同步服務(wù),Yarn和Hbase需要它的支持。Impala是對hive的一個補充,可以實現(xiàn)高效的SQL查詢。ElasticSearch是一個分布式的搜索引擎。針對分析,目前最火的是Spark『此處忽略其他,如基礎(chǔ)的MapReduce和Flink』。Spark在core上面有MLlib,SparkStreaming、SparkQL和GraphX等庫,可以滿足幾乎所有常見數(shù)據(jù)分析需求。
值得一提的是,上面提到的組件,如何將其有機結(jié)合起來,完成某個任務(wù),不是一個簡單的工作,可能會非常耗時。
3、數(shù)據(jù)導(dǎo)入
前面提到,數(shù)據(jù)導(dǎo)入的工具是Sqoop。用它可以將數(shù)據(jù)從文件或者傳統(tǒng)數(shù)據(jù)庫導(dǎo)入到分布式平臺『一般主要導(dǎo)入到Hive,也可將數(shù)據(jù)導(dǎo)入到Hbase』。
4、數(shù)據(jù)分析
數(shù)據(jù)分析一般包括兩個階段:數(shù)據(jù)預(yù)處理和數(shù)據(jù)建模分析。
數(shù)據(jù)預(yù)處理是為后面的建模分析做準備,主要工作時從海量數(shù)據(jù)中提取可用特征,建立大寬表。這個過程可能會用到HiveSQL,SparkQL和Impala。
數(shù)據(jù)建模分析是針對預(yù)處理提取的特征/數(shù)據(jù)建模,得到想要的結(jié)果。如前面所提到的,這一塊最好用的是Spark。常用的機器學(xué)習(xí)算法,如樸素貝葉斯、邏輯回歸、決策樹、神經(jīng)網(wǎng)絡(luò)、TFIDF、協(xié)同過濾等,都已經(jīng)在MLlib里面,調(diào)用比較方便。
5、結(jié)果可視化及輸出API
可視化一般式對結(jié)果或部分原始數(shù)據(jù)做展示。一般有兩種情況,行數(shù)據(jù)展示,和列查找展示。在這里,要基于大數(shù)據(jù)平臺做展示,會需要用到ElasticSearch和Hbase。Hbase提供快速『ms級別』的行查找。ElasticSearch可以實現(xiàn)列索引,提供快速列查找。
平臺搭建主要問題:
1、穩(wěn)定性Stability
理論上來說,穩(wěn)定性是分布式系統(tǒng)最大的優(yōu)勢,因為它可以通過多臺機器做數(shù)據(jù)及程序運行備份以確保系統(tǒng)穩(wěn)定。但也由于大數(shù)據(jù)平臺部署于多臺機器上,配置不合適,也可能成為最大的問題。曾經(jīng)遇到的一個問題是Hbase經(jīng)常掛掉,主要原因是采購的硬盤質(zhì)量較差。硬盤損壞有時會到導(dǎo)致Hbase同步出現(xiàn)問題,因而導(dǎo)致Hbase服務(wù)停止。由于硬盤質(zhì)量較差,隔三差五會出現(xiàn)服務(wù)停止現(xiàn)象,耗費大量時間。結(jié)論:大數(shù)據(jù)平臺相對于超算確實廉價,但是配置還是必須高于家用電腦的。
2、可擴展性Scalability
如何快速擴展已有大數(shù)據(jù)平臺,在其基礎(chǔ)上擴充新的機器是
云計算等領(lǐng)域應(yīng)用的關(guān)鍵問題。在實際2B的應(yīng)用中,有時需要增減機器來滿足新的需求。如何在保留原有功能的情況下,快速擴充平臺是實際應(yīng)用中的常見問題。
上述是自己項目實踐的總結(jié)。整個平臺搭建過程耗時耗力,非一兩個人可以完成。一個小團隊要真正做到這些也需要耗費很長時間。
目前國內(nèi)和國際上已有多家公司提供大數(shù)據(jù)平臺搭建服務(wù),國外有名的公司有Cloudera,Hortonworks,MapR等,國內(nèi)也有華為、明略數(shù)據(jù)、星環(huán)等。另外有些公司如明略數(shù)據(jù)等還提供一體化的解決方案,尋求這些公司合作對于入門級的大數(shù)據(jù)企業(yè)或沒有大數(shù)據(jù)分析能力的企業(yè)來說是最好的解決途徑。
對于一些本身體量較小或者目前數(shù)據(jù)量積累較少的公司,個人認為沒有必要搭建這一套系統(tǒng),暫時先租用AWS和阿里云就夠了。對于數(shù)據(jù)量大,但數(shù)據(jù)分析需求較簡單的公司,可以直接買Tableau,Splunk,HPVertica,或者IBMDB2等軟件或服務(wù)即可。
以上是我從事大數(shù)據(jù)以來的一些認識。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標題:參與者講述如何創(chuàng)建一個大數(shù)據(jù)平臺?
本文網(wǎng)址:http://www.ezxoed.cn/html/consultation/10839319671.html