1.1 華數(shù)大數(shù)據(jù)平臺(tái)總體架構(gòu)
大數(shù)據(jù)應(yīng)用架構(gòu)圖
基于華數(shù)多年來(lái)的開發(fā)經(jīng)驗(yàn),并借鑒行業(yè)大數(shù)據(jù)分析平臺(tái)的實(shí)施、管理和應(yīng)用方面的成功經(jīng)驗(yàn),結(jié)合禾豐牧業(yè)實(shí)際信息化情況,我們將禾豐大數(shù)據(jù)平臺(tái)實(shí)際為三層架構(gòu),其中:
l基礎(chǔ)數(shù)據(jù)源層:目前禾豐牧業(yè)所應(yīng)用的數(shù)據(jù)主要來(lái)源于業(yè)務(wù)系統(tǒng)(EAS)與平面文本文件(Excel)兩種類型,結(jié)合未來(lái)信息化的發(fā)展,音頻數(shù)據(jù)和視頻數(shù)據(jù)等越來(lái)越豐富的數(shù)據(jù)類型也將陸續(xù)納入到我們的大數(shù)據(jù)平臺(tái)體系之中,因此為保證我們的大數(shù)據(jù)平臺(tái)的先進(jìn)性,要能支持多種類型的數(shù)據(jù)源;l大數(shù)據(jù)處理層:由于數(shù)據(jù)源類型的多樣性,傳統(tǒng)關(guān)系型數(shù)據(jù)倉(cāng)庫(kù)架構(gòu)或者分布式存儲(chǔ)架構(gòu)各有優(yōu)缺點(diǎn),單獨(dú)使用都無(wú)法很好的滿足對(duì)結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)的存儲(chǔ)和應(yīng)用需求,因此我們建議采用傳統(tǒng)數(shù)據(jù)倉(cāng)庫(kù)架構(gòu)與大數(shù)據(jù)分布式數(shù)據(jù)倉(cāng)庫(kù)架構(gòu)兩者相結(jié)合的架構(gòu)設(shè)計(jì),兩者緊密配合共同承擔(dān)大數(shù)據(jù)處理任務(wù),為大數(shù)據(jù)應(yīng)用提供數(shù)據(jù)接口、數(shù)據(jù)交換、數(shù)據(jù)查詢、數(shù)據(jù)分析和數(shù)據(jù)挖掘提供數(shù)據(jù)基礎(chǔ);l大數(shù)據(jù)應(yīng)用層:隨著信息化的發(fā)展,對(duì)大數(shù)據(jù)的應(yīng)用方式也越來(lái)越多,大數(shù)據(jù)分析平臺(tái)應(yīng)用層需要滿足諸如:固定報(bào)表、OLAP分析、KPI分析、指標(biāo)監(jiān)控、即席查詢(自助式分析)、決策支持、郵件推送、office集成、移動(dòng)BI、預(yù)警預(yù)測(cè)(數(shù)據(jù)挖掘)等多種展現(xiàn)方式。
1.1.2禾豐大數(shù)據(jù)平臺(tái)技術(shù)架構(gòu)
大數(shù)據(jù)技術(shù)架構(gòu)圖
根據(jù)我們實(shí)施建設(shè)大數(shù)據(jù)分析平臺(tái)多年的經(jīng)驗(yàn),結(jié)合禾豐牧業(yè)三層式數(shù)分析平臺(tái)系統(tǒng)構(gòu)架,通過數(shù)據(jù)采集(包括數(shù)據(jù)源)、信息存儲(chǔ)與管理(數(shù)據(jù)倉(cāng)庫(kù)和Hadoop)和信息共享三部分技術(shù)來(lái)實(shí)現(xiàn)。 l數(shù)據(jù)采集:
1)結(jié)構(gòu)化數(shù)據(jù)采集:禾豐牧業(yè)現(xiàn)有的數(shù)據(jù)主要來(lái)自于EAS系統(tǒng)、青軟系統(tǒng)、電商平臺(tái)和文本文件都屬于結(jié)構(gòu)化數(shù)據(jù),大數(shù)據(jù)分析平臺(tái)采用ETL工具-kettle作為采集結(jié)構(gòu)化數(shù)據(jù)的手段。ETL(Extract, Transform, Load)是建立大數(shù)據(jù)分析平臺(tái)的重要組成部分,它將大數(shù)據(jù)分析平臺(tái)中所需的數(shù)據(jù)按數(shù)據(jù)倉(cāng)庫(kù)建立的方法每天或定期從各個(gè)業(yè)務(wù)系統(tǒng)中采集詳盡的業(yè)務(wù)數(shù)據(jù),并根據(jù)各自的需求進(jìn)行數(shù)據(jù)調(diào)整,數(shù)據(jù)遷移過程中需將原始數(shù)據(jù)進(jìn)行抽取、清洗、合并和裝載。在此過程中必須保證數(shù)據(jù)的完備性和數(shù)據(jù)的一致性。當(dāng)業(yè)務(wù)數(shù)據(jù)量過大,未避免Mysql數(shù)據(jù)倉(cāng)庫(kù)壓力過大,亦可將業(yè)務(wù)數(shù)據(jù)通過kettle遷移到hadoop平臺(tái)的數(shù)據(jù)庫(kù)Hbase中。
2)非結(jié)構(gòu)化數(shù)據(jù)采集:隨著禾豐牧業(yè)信息化建設(shè)的發(fā)展,未來(lái)電話會(huì)議、視頻會(huì)議、影音文件、微博實(shí)時(shí)數(shù)據(jù)、傳感器采集的設(shè)備數(shù)據(jù)、移動(dòng)端收集的數(shù)據(jù)以及其他流數(shù)據(jù)等非結(jié)構(gòu)化數(shù)據(jù),我們將通過傳感器接口、視頻接入設(shè)備、網(wǎng)絡(luò)爬蟲工具和流處理程序等方式分別進(jìn)行采集并存儲(chǔ)到HDFS和Hbase中。l大數(shù)據(jù)存儲(chǔ)和管理:
1)結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)和管理:為方便其管理和滿足未來(lái)展現(xiàn)的性能要求,我們選擇以關(guān)系型數(shù)據(jù)庫(kù)MySQL和hadoop的HBase數(shù)據(jù)庫(kù)共同承擔(dān)對(duì)結(jié)構(gòu)化的數(shù)據(jù)的存儲(chǔ)和管理。以MySQL建立傳統(tǒng)數(shù)據(jù)倉(cāng)庫(kù)來(lái)實(shí)現(xiàn)對(duì)用于結(jié)構(gòu)化數(shù)據(jù)和元數(shù)據(jù)的集中存儲(chǔ)與管理,并根據(jù)需求建立面向部門和主題的數(shù)據(jù)集市,中央數(shù)據(jù)倉(cāng)庫(kù)將被劃分為三個(gè)邏輯存儲(chǔ)區(qū)間: ODS(Operational Data Store)、DW(Data Warehourse)、DM(Data Mart):ODS將存放各業(yè)務(wù)系統(tǒng)的原始數(shù)據(jù),包括與原結(jié)構(gòu)相同的業(yè)務(wù)數(shù)據(jù)以及經(jīng)過初步整理后的業(yè)務(wù)數(shù)據(jù);DW區(qū)域存放經(jīng)過整理過的數(shù)據(jù),是大數(shù)據(jù)分析平臺(tái)真正的數(shù)據(jù)中心;DM區(qū)域存放各個(gè)應(yīng)用系統(tǒng)(web應(yīng)用、BI、OLAP、Data Mining等)所需的綜合數(shù)據(jù)。與此同時(shí)我們?cè)贛ySQL和HBase數(shù)據(jù)庫(kù)之間建立連接,利用Kettle定時(shí)進(jìn)行數(shù)據(jù)交換,倆種數(shù)據(jù)倉(cāng)庫(kù)共同大數(shù)據(jù)應(yīng)用提供數(shù)據(jù)支撐,從而實(shí)現(xiàn)數(shù)據(jù)共享,分?jǐn)倝毫蛿?shù)據(jù)備份的目的。
2)非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)和管理:由于Mysql不支持對(duì)非結(jié)構(gòu)化數(shù)據(jù)的存儲(chǔ),我們利用大數(shù)據(jù)應(yīng)用框架Hadoop平臺(tái)的數(shù)據(jù)倉(cāng)庫(kù)作為傳統(tǒng)數(shù)據(jù)倉(cāng)庫(kù)的補(bǔ)充,實(shí)現(xiàn)對(duì)非結(jié)構(gòu)化數(shù)據(jù)的存儲(chǔ)和管理,并對(duì)來(lái)自網(wǎng)絡(luò)的海量數(shù)據(jù)查詢提供支撐。Hadoop平臺(tái)集中了很多功能組件,其中HDFS是分布式文件系統(tǒng),用于分布式存儲(chǔ)大數(shù)據(jù)文件;Hbase是可擴(kuò)展的分布式列存儲(chǔ)NoSQL數(shù)據(jù)庫(kù),用于存儲(chǔ)結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù);Hive是基于Hadoop的數(shù)據(jù)倉(cāng)庫(kù)工具,可以存儲(chǔ)、查詢和分析存儲(chǔ)在HBase中的數(shù)據(jù);Mapreduce是用于對(duì)Hadoop平臺(tái)大規(guī)模數(shù)據(jù)集進(jìn)行并行查詢的編程模型;Pig 是一個(gè)高級(jí)過程語(yǔ)言,適合于使用 Hadoop 和 MapReduce 平臺(tái)來(lái)查詢大型半結(jié)構(gòu)化數(shù)據(jù)集。l應(yīng)用與分析:大數(shù)據(jù)分析平臺(tái)為滿足不同用戶的需求,需要提供多種不同的應(yīng)用與分析方式,大數(shù)據(jù)分析平臺(tái)提供三種應(yīng)用方式。第一種:支持利用java或C等開發(fā)語(yǔ)言編寫程序?qū)崿F(xiàn)對(duì)Hadoop平臺(tái)和MySQL數(shù)據(jù)倉(cāng)庫(kù)中數(shù)據(jù)的應(yīng)用;第二種:我們選用強(qiáng)大的商務(wù)智能軟件IBM-Cognos作為信息共享工具。Cognos作為多樣化的前端分析展示工具,支持建立DMR和OLAP兩種模型,提供了在線報(bào)表、OlAP分析、儀表板、記分卡、即席查詢、郵件分發(fā)、Office集成、移動(dòng)APP等多種信息共享技術(shù)。第三種:我們選用” 統(tǒng)計(jì)產(chǎn)品與服務(wù)解決方案”軟件IBM-SPSS作為數(shù)據(jù)挖掘工具,SPSS支持以Hadoop平臺(tái)和MySQL搭建挖掘模型,用于統(tǒng)計(jì)學(xué)分析運(yùn)算、數(shù)據(jù)挖掘、預(yù)測(cè)分析和決策支持任務(wù),支持描述性統(tǒng)計(jì)、均值比較、一般線性模型、相關(guān)分析、回歸分析、對(duì)數(shù)線性模型、聚類分析、數(shù)據(jù)簡(jiǎn)化、生存分析、時(shí)間序列分析、多重響應(yīng)等多類統(tǒng)計(jì)分析和挖掘算法。