周政 王彩平 張家口卷煙廠有限責(zé)任公司
大數(shù)據(jù)技術(shù)是近年來(lái)興起主流數(shù)據(jù)處理技術(shù),它一般依托于云平臺(tái)或虛擬環(huán)境,能夠提供或支撐數(shù)據(jù)的采集、數(shù)據(jù)預(yù)處理、分布式存儲(chǔ)、NoSQL數(shù)據(jù)庫(kù)、數(shù)據(jù)倉(cāng)庫(kù)、機(jī)器學(xué)習(xí)、并行計(jì)算、可視化等各種技術(shù)范疇和不同的技術(shù)層面。其中,數(shù)據(jù)采集、數(shù)據(jù)預(yù)處理、NoSQL數(shù)據(jù)庫(kù)、數(shù)據(jù)倉(cāng)庫(kù)功能,可以在聯(lián)通各個(gè)業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫(kù)、獲取數(shù)據(jù)庫(kù)數(shù)據(jù)的同時(shí),進(jìn)行一定的數(shù)據(jù)清洗過(guò)濾,最終存儲(chǔ)在非關(guān)系數(shù)據(jù)庫(kù)中,以供其他業(yè)務(wù)系統(tǒng)獲取使用。
各類企業(yè)在發(fā)展的過(guò)程中都會(huì)依賴信息化軟件輔助運(yùn)營(yíng),從最早的財(cái)務(wù)軟件,到之后的MES輔助生產(chǎn)運(yùn)營(yíng)軟件,ERP企業(yè)管理軟件等,隨著企業(yè)逐步發(fā)展和業(yè)務(wù)水平的不斷提高,各類管理軟件的功能劃分也愈加精細(xì),對(duì)于大中型企業(yè),尤其是生產(chǎn)企業(yè)來(lái)說(shuō),往往擁有多種輔助管理軟件,甚至每個(gè)獨(dú)立的職能部門都擁有屬于自己的一套軟件系統(tǒng)。在日益追求數(shù)據(jù)價(jià)值發(fā)掘的今天,將職能部門間的信息關(guān)聯(lián)起來(lái)做分析已經(jīng)成為一種重要數(shù)據(jù)分析方式,這就要求企業(yè)能夠打通不同管理軟件之間的信息傳遞通道。以往多采用手動(dòng)信息匯總或者做接口的方式進(jìn)行數(shù)據(jù)傳遞,但是前者需要耗費(fèi)大量的人力和時(shí)間,且在數(shù)據(jù)收集整理的過(guò)程中也難以保證數(shù)據(jù)的準(zhǔn)確性,后者需要進(jìn)行系統(tǒng)間接口開(kāi)發(fā),但單一接口只能滿足單一數(shù)據(jù)要求,對(duì)數(shù)據(jù)有更深入要求的時(shí)候只能進(jìn)行新的接口開(kāi)發(fā),且接口開(kāi)發(fā)費(fèi)用普遍較高,長(zhǎng)期如此會(huì)陷入軟件運(yùn)維費(fèi)用過(guò)高的泥潭。因此,借助大數(shù)據(jù)平臺(tái)技術(shù)建立企業(yè)的數(shù)據(jù)池,將各個(gè)業(yè)務(wù)系統(tǒng)的核心數(shù)據(jù)按照統(tǒng)一標(biāo)準(zhǔn)采集起來(lái)集中存放,同時(shí)可以提供給其他業(yè)務(wù)系統(tǒng)做數(shù)據(jù)關(guān)聯(lián)分析,是一種有效打破管理軟件數(shù)據(jù)壁壘的方法。
建立服務(wù)器集群,以此為基礎(chǔ)搭建大數(shù)據(jù)平臺(tái),在平臺(tái)中部署數(shù)據(jù)池,通過(guò)ETL工具建立大數(shù)據(jù)平臺(tái)與各個(gè)業(yè)務(wù)系統(tǒng)間的數(shù)據(jù)傳輸通道,制定一定的數(shù)據(jù)獲取規(guī)則,將各個(gè)業(yè)務(wù)系統(tǒng)中的高價(jià)值數(shù)據(jù)統(tǒng)一存放到大數(shù)據(jù)平臺(tái)的數(shù)據(jù)池中。當(dāng)業(yè)務(wù)部門需要做單個(gè)系統(tǒng)數(shù)據(jù)分析或多系統(tǒng)數(shù)據(jù)關(guān)聯(lián)分析時(shí),可以通過(guò)大數(shù)據(jù)平臺(tái)直接獲取數(shù)據(jù)池中經(jīng)過(guò)初步處理的高價(jià)值數(shù)據(jù),根據(jù)自己的實(shí)際需要進(jìn)行數(shù)據(jù)二次加工,生成各類圖形報(bào)表,反饋給管理者作為制定策略的數(shù)據(jù)依據(jù)。
根據(jù)大多數(shù)企業(yè)的特點(diǎn)和實(shí)際情況,平臺(tái)采用多臺(tái)服務(wù)器搭建服務(wù)器集群,服務(wù)器采用Linux操作系統(tǒng)CentOS7.2或以上版本,大數(shù)據(jù)平臺(tái)管理軟件使用Cloudera Manager,并在之上部署CDH集群來(lái)實(shí)現(xiàn)可擴(kuò)展存儲(chǔ)和分布式計(jì)算,通過(guò)Sqoop工具實(shí)現(xiàn)數(shù)據(jù)的導(dǎo)入和導(dǎo)出,以Hive作為數(shù)據(jù)存儲(chǔ)池。硬件設(shè)備方面,完全可以采用企業(yè)現(xiàn)有的服務(wù)器進(jìn)行部署,需要3臺(tái)以上、能夠部署CentOS7.2或以上版本的服務(wù)器,其中一個(gè)服務(wù)器為管理節(jié)點(diǎn),其他為存儲(chǔ)節(jié)點(diǎn)。
運(yùn)行環(huán)境方面,采用Linux發(fā)行版本之一的CentOS7.2或以上版本為系統(tǒng)運(yùn)行環(huán)境,以Cloudera Manager6.3.1管理大數(shù)據(jù)平臺(tái),以基于Hadoop的CHD6.3.2集群提供可擴(kuò)展存儲(chǔ)(HDFS)和分布式計(jì)算(MR)。
數(shù)據(jù)存儲(chǔ)方面,以Hive作為數(shù)據(jù)池。hive是基于Hadoop的一個(gè)數(shù)據(jù)倉(cāng)庫(kù)工具,用來(lái)進(jìn)行數(shù)據(jù)提取、轉(zhuǎn)化、加載,提供SQL查詢功能,能將SQL語(yǔ)句轉(zhuǎn)變成MapReduce任務(wù)來(lái)執(zhí)行,十分適合對(duì)數(shù)據(jù)池中的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析。
數(shù)據(jù)交互方面,以Sqoop進(jìn)行Hive數(shù)據(jù)池和傳統(tǒng)數(shù)據(jù)庫(kù)的數(shù)據(jù)傳輸工具。Sqoop是一款開(kāi)源的工具,主要用于在Hadoop(Hive)與傳統(tǒng)的數(shù)據(jù)庫(kù)(mysql等)間進(jìn)行數(shù)據(jù)的傳遞,可以將一個(gè)關(guān)系型數(shù)據(jù)庫(kù)中的數(shù)據(jù)導(dǎo)進(jìn)到Hadoop的HDFS中,也可以將HDFS的數(shù)據(jù)導(dǎo)進(jìn)到關(guān)系型數(shù)據(jù)庫(kù)中。
在數(shù)據(jù)貫通方面大數(shù)據(jù)平臺(tái)主要提供以下功能:
<1>數(shù)據(jù)存儲(chǔ)空間擴(kuò)展;
<2>從業(yè)務(wù)系統(tǒng)中進(jìn)行數(shù)據(jù)采集導(dǎo)入、數(shù)據(jù)清洗;
<3>數(shù)據(jù)存儲(chǔ);
<4>提供關(guān)聯(lián)數(shù)據(jù)并導(dǎo)出到業(yè)務(wù)系統(tǒng);
<5>平臺(tái)狀態(tài)監(jiān)控。
平臺(tái)功能實(shí)現(xiàn):
業(yè)務(wù)數(shù)據(jù)在部署成功的大數(shù)據(jù)平臺(tái)傳遞需要通過(guò)以下幾步:
<1>在集群中添加服務(wù)。通過(guò)Cloudera Manager在選定的主機(jī)上添加Sqoop服務(wù),通過(guò)# sqoop help驗(yàn)證服務(wù)是否添加成功。
<2>導(dǎo)入數(shù)據(jù)到Hive數(shù)據(jù)池??梢蕴崆霸贖ive中創(chuàng)建表,也可以不創(chuàng)建在導(dǎo)入時(shí)自動(dòng)創(chuàng)建,通過(guò)命令將關(guān)系數(shù)據(jù)庫(kù)(MySQL、SqlServer、Oracle等)中表的數(shù)據(jù)導(dǎo)入到Hive中。
<3>在Hive中通過(guò)命令驗(yàn)證傳入數(shù)據(jù)的準(zhǔn)確性。
<4>導(dǎo)出數(shù)據(jù)到關(guān)系數(shù)據(jù)庫(kù)。在關(guān)系數(shù)據(jù)庫(kù)(MySQL、SqlServer、Oracle等)中建立對(duì)應(yīng)表格。通過(guò)命令將Hive中的數(shù)據(jù)導(dǎo)出到關(guān)系數(shù)據(jù)庫(kù)對(duì)應(yīng)表格中。
<5>根據(jù)數(shù)據(jù)導(dǎo)入導(dǎo)出命令編寫Xml腳本,通過(guò)腳本管理定時(shí)定期進(jìn)行數(shù)據(jù)導(dǎo)入導(dǎo)出操作,實(shí)現(xiàn)對(duì)Hive中數(shù)據(jù)的更新。
利用大數(shù)據(jù)平臺(tái)的數(shù)據(jù)處理能力和特性,根據(jù)企業(yè)打通管理軟件數(shù)據(jù)壁壘的需求,結(jié)合數(shù)據(jù)一體化管理理念,采用Hadoop為基礎(chǔ)的CDH提供存儲(chǔ)和計(jì)算能力,Cloudera Manager作為平臺(tái)管理工具,Sqoop作為數(shù)據(jù)傳輸工具,實(shí)現(xiàn)了對(duì)企業(yè)數(shù)據(jù)的集中存儲(chǔ)處理,打通了多個(gè)業(yè)務(wù)系統(tǒng)間的數(shù)據(jù)傳輸通道。此功能的落實(shí),能夠有效提升企業(yè)運(yùn)營(yíng)數(shù)據(jù)的時(shí)效性和準(zhǔn)確性,提高企業(yè)數(shù)據(jù)價(jià)值,幫助企業(yè)對(duì)業(yè)務(wù)系統(tǒng)中積累多年的數(shù)據(jù)進(jìn)行數(shù)據(jù)價(jià)值挖掘,同時(shí)避免了高額度的接口開(kāi)發(fā)費(fèi)用,使數(shù)據(jù)在業(yè)務(wù)系統(tǒng)間的傳輸不再需要開(kāi)發(fā)成本,減少業(yè)務(wù)系統(tǒng)運(yùn)維費(fèi)用,為企業(yè)下一步進(jìn)行大數(shù)據(jù)分析提供了數(shù)據(jù)基座和支撐。