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