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