任風(fēng)賢
(運城職業(yè)技術(shù)大學(xué) 山西 運城 044000)
近年來,信息化技術(shù)取得了快速發(fā)展。智慧圖書館能夠合理運用信息化技術(shù)打通各自動化系統(tǒng)的信息壁壘,建立圖書館信息中心。并且根據(jù)圖書館業(yè)務(wù)目標,使用數(shù)據(jù)挖掘算法和工具對海量圖書館行為數(shù)據(jù)展開分析挖掘。由于我國已經(jīng)正式邁入了大數(shù)據(jù)時代,近幾年很多高校都陸續(xù)提出了智慧圖書館的項目建設(shè),但是高校智慧圖書館仍然處于初級階段。因此,想要進一步促進智慧圖書館的建立,應(yīng)該清晰了解相關(guān)技術(shù),合理構(gòu)建基于大數(shù)據(jù)的智慧圖書館平臺。
Hadoop前身是Apache的Nutch,具有數(shù)據(jù)收集和數(shù)據(jù)存儲功能。在當前階段Hadoop已經(jīng)成了一個較為規(guī)范龐大的體系。體系里面包含了HDFS、MapReduce、Yarn、Hive、Zookeeper等,能夠為系統(tǒng)提供分布式的數(shù)據(jù)存儲、并行計算、集群管理以及數(shù)據(jù)傳輸?shù)裙δ?,其中較為核心的內(nèi)容是HDFS、MapReduce、Yarn三者。
HDFS使用了主從架構(gòu),一個HDFS集群通常是由多個DataNode與單個NameNode組合而成。其中NameNode在這個過程中是作為管理文件系統(tǒng)命名空間的主服務(wù)器,并且可以調(diào)節(jié)客戶端運行過程中訪問的文件。而DataNode則是進行管理對接節(jié)點存儲,一般情況下會在一個服務(wù)器當中部署一個DataNode。將一整個文件劃分成多個數(shù)據(jù)模塊,將這些數(shù)據(jù)模塊分別存儲在不同的DataNode當中。NameNode則是被用來操作文件系統(tǒng)的命名空間,例如在運行過程中打開、關(guān)閉或者重命名文件。在這個過程中,呈現(xiàn)出數(shù)據(jù)塊與DataNode之間的映射關(guān)系。此時,DataNode會對數(shù)據(jù)的讀寫請求展開處理,同時創(chuàng)建數(shù)據(jù)塊,刪除來源于NameNode中的復(fù)制命令。NameNode與DataNode都是為了在普通服務(wù)器進行運行,這些服務(wù)器一般情況下都是采用了GUN/Linux操作系統(tǒng)。由于HDES是由JAVA語言構(gòu)建而成,所以任何能夠支持JAVA語言的服務(wù)器都可以進行DataNode與NameNode兩項服務(wù)。這種運用具有一種典型的部署方式,那就是在一臺服務(wù)器中單獨運行NameNode,集群的其他每臺服務(wù)器都可以開啟DataNode。在這個過程中,集群采用了NameNode能夠有效簡化系統(tǒng)整體架構(gòu),成為集群仲裁者和全部HDFS元數(shù)據(jù)的信息存儲庫。MapReduce是整個Haddoop的核心計算模塊,屬于性能優(yōu)越的分布式編程模式,具有一定的擴展性和一致性,并且展現(xiàn)出并行抽象度,在處理龐大的數(shù)據(jù)時具有明顯的優(yōu)勢。在運行過程中,會將一個龐大的數(shù)據(jù)劃分成多個小規(guī)模的數(shù)據(jù)map任務(wù),將這些任務(wù)輸送至集群中的不同節(jié)點,這些節(jié)點可以同時完成下達的任務(wù)。在完成了相應(yīng)的任務(wù)后,會利用Reduce調(diào)整最后的分析結(jié)果,將其上傳至HDFS進行存儲。在使用MapReduce處理數(shù)據(jù)之前需要保證一項基本條件,那就是需要進行處理的大規(guī)模數(shù)據(jù)集能夠被劃分成不同的小數(shù)據(jù)集,并且這些小數(shù)據(jù)集能夠進行獨立并行處理。Yarn是一項新推出的Hadoop資源管理器,屬于一種較為通用的資源管理系統(tǒng),能夠為上層帶來統(tǒng)一的資源管理和調(diào)度。合理運用Yarn能夠有效提升集群的利用率,帶來更好的服務(wù),為資源統(tǒng)一管理和數(shù)據(jù)共享提供便利[1]。
大數(shù)據(jù)可視化主要是利用可視化方法來分析和挖掘大數(shù)據(jù)中具有價值的潛在信息??梢暦治龅哪繕酥饕轻槍Υ笠?guī)模、動態(tài)、模糊、不一致數(shù)據(jù)集進行分析。在當前的數(shù)據(jù)可視化技術(shù)中,主要是運用計算機圖形學(xué)和圖像處理技術(shù),將各類數(shù)據(jù)轉(zhuǎn)化成可以在屏幕上顯示的圖形或圖像,對其進行交叉處理的理論和技術(shù)。通俗來講,就是將看似毫無意義、沒有利用價值的數(shù)據(jù)信息轉(zhuǎn)換成一種容易被理解和利用的視覺方式展現(xiàn)在眼前,這樣能夠更好地進行數(shù)據(jù)的觀察和分析。大數(shù)據(jù)可視化可以在進行數(shù)據(jù)分析挖掘的過程中利用用戶界面和人機交互技術(shù),使計算機的計算能力與人的認知能力進行融合。這樣能夠有效提升針對大規(guī)模復(fù)雜數(shù)據(jù)集的分析能力,提高數(shù)據(jù)分析的效果。大數(shù)據(jù)可視化將計算機強大的計算能力與人對事物精確的認知能力進行巧妙結(jié)合,進而有效提升了數(shù)據(jù)分析和數(shù)據(jù)觀察的整體能力[2]。
基于Hadoop的分層架構(gòu)設(shè)計,利用這項技術(shù)建立智慧圖書館大數(shù)據(jù)平臺,不僅可以將圖書館的數(shù)據(jù)囊括其中,還可以將教學(xué)數(shù)據(jù)、讀者的消費數(shù)據(jù)包含在內(nèi)。由于大數(shù)據(jù)平臺中會包含眾多的數(shù)據(jù),因此可以在大數(shù)據(jù)平臺的基礎(chǔ)上展開數(shù)據(jù)的存儲、分析和應(yīng)用展示。為了滿足不同業(yè)務(wù)多樣化的需求,在構(gòu)建平臺的過程中,需要根據(jù)邏輯分層方法進行設(shè)計。基本上分為4層架構(gòu),分別為數(shù)據(jù)采集層、數(shù)據(jù)存儲層、數(shù)據(jù)服務(wù)層以及數(shù)據(jù)應(yīng)用層。
數(shù)據(jù)采集層:數(shù)據(jù)采集層會囊括數(shù)據(jù)系統(tǒng)以及對元數(shù)據(jù)的抽取。數(shù)據(jù)中不僅會包括圖書館當前已有的各類數(shù)據(jù),還會包括圖書館的數(shù)字資源數(shù)據(jù)。智慧圖書館作為智慧校園中重要組成內(nèi)容,所以智慧圖書館大數(shù)據(jù)平臺不是單獨存在的,還需要與學(xué)生的教學(xué)數(shù)據(jù)、學(xué)生的基礎(chǔ)信息和學(xué)生的消費數(shù)據(jù)保持一定的關(guān)系。數(shù)據(jù)采集就是針對學(xué)生的各種信息進行抽取、清洗、轉(zhuǎn)化和加載,將各類數(shù)據(jù)轉(zhuǎn)化成統(tǒng)一的格式、使其能夠為數(shù)據(jù)存儲層做準備。
數(shù)據(jù)存儲層:各類數(shù)據(jù)的存儲是大數(shù)據(jù)平臺重要的工作內(nèi)容,因此數(shù)據(jù)存儲是整個智慧圖書館大數(shù)據(jù)平臺中的重要部分。平臺所有的業(yè)務(wù)和展示都需要數(shù)據(jù)存儲層給予配合。一般情況下,智慧圖書館大數(shù)據(jù)平臺中的數(shù)據(jù)存儲層會采用傳統(tǒng)關(guān)系型數(shù)據(jù)庫以及分布式文件系統(tǒng)的混搭方式。關(guān)系型數(shù)據(jù)在學(xué)校的內(nèi)部主要被用來集成學(xué)?,F(xiàn)在已有的業(yè)務(wù)系統(tǒng)數(shù)據(jù),為各類數(shù)據(jù)進行清洗和轉(zhuǎn)化提供中間表,與此同時存儲數(shù)據(jù)并挖掘數(shù)據(jù)背后隱藏的信息。分布式文件系統(tǒng)是大數(shù)據(jù)存儲層主要的存儲方式,具有結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)兩種,是整個數(shù)據(jù)分析挖掘中的主體。
數(shù)據(jù)服務(wù)層:服務(wù)層在整個系統(tǒng)平臺中承擔(dān)著數(shù)據(jù)存儲層和應(yīng)用層之間的連接,可以定義相對應(yīng)的接口,將平臺中不同的服務(wù)進行關(guān)聯(lián),為上一層的應(yīng)用提供良好的訪問接口。數(shù)據(jù)分析服務(wù)需要建立在Hadoop平臺上,從業(yè)務(wù)需求出發(fā),使用大數(shù)據(jù)平臺良好的計算能力完成數(shù)據(jù)的轉(zhuǎn)換、抽取、分析挖掘等功能。
數(shù)據(jù)應(yīng)用層:主要是進行數(shù)據(jù)分析、挖掘以及業(yè)務(wù)整合的展示。在這一層中具體的應(yīng)用包括決策支持系統(tǒng)、圖書館報告、個人讀書報告、移動客戶端等。
為了保證智慧圖書館大數(shù)據(jù)平臺的順利建設(shè),促進智慧圖書館數(shù)據(jù)分析挖掘的良好運行,需要建立統(tǒng)一的數(shù)據(jù)標準,對原數(shù)據(jù)進行抽取、清洗、轉(zhuǎn)化等工作。由于元數(shù)據(jù)來自不同的自動化系統(tǒng),各個自動化系統(tǒng)數(shù)據(jù)的存儲結(jié)構(gòu)都是根據(jù)相應(yīng)的業(yè)務(wù)需求進行設(shè)計的,邏輯關(guān)系較為復(fù)雜。所以數(shù)據(jù)庫的類型和數(shù)據(jù)結(jié)構(gòu)都存在明顯的差異,因此想要保障相關(guān)工作順利進行,在進行數(shù)據(jù)采集工作之前,應(yīng)當構(gòu)建統(tǒng)一的數(shù)據(jù)標準,為后續(xù)的數(shù)據(jù)分析和挖掘工作提供良好的基礎(chǔ)數(shù)據(jù),保障工作效果[3]。
在數(shù)據(jù)存儲架構(gòu)設(shè)計設(shè)置云端數(shù)據(jù)存儲模塊,主要是為了滿足大量結(jié)構(gòu)化與非結(jié)構(gòu)化數(shù)據(jù)的存儲需求。與此同時,又需要保證相關(guān)數(shù)據(jù)存儲的安全性以及數(shù)據(jù)訪問使用的高效性。一般情況下會選取HDFS進行存儲,主要是因為運用HDFS進行存儲具有強大的數(shù)據(jù)處理能力,能夠利用備份功能使相關(guān)數(shù)據(jù)保持較高的可用性以及系統(tǒng)容錯能力。HDFS作為Hadoop生態(tài)系統(tǒng)中重要的組成部分,大部分并行計算框架都能夠支持高效讀取存儲在HDFS上的數(shù)據(jù)。由于云端存儲會包括多個業(yè)務(wù)系統(tǒng)的數(shù)據(jù),因此為了更好地進行數(shù)據(jù)分析,應(yīng)當根據(jù)存儲目錄將不同的業(yè)務(wù)類型和信息維度進行劃分,保障存儲的規(guī)范性。
這項技術(shù)的合理應(yīng)用有利于實現(xiàn)校園網(wǎng)內(nèi)部數(shù)據(jù)的集成,這個模塊可以根據(jù)不同服務(wù)需求選擇合理的抽取方法。將大數(shù)據(jù)平臺中所需的各項數(shù)據(jù)從業(yè)務(wù)系統(tǒng)中進行抽取,并將抽取出的元數(shù)據(jù)在中間層進行清洗、轉(zhuǎn)化、集成。在完成以上步驟之后,將其匯聚到目標數(shù)據(jù)庫當中,這項技術(shù)在數(shù)據(jù)的采集過程中具有非常關(guān)鍵的作用。
數(shù)據(jù)抽取是構(gòu)建智慧圖書館大數(shù)據(jù)平臺數(shù)據(jù)采集的重要步驟,在進行這項步驟之前,需要對數(shù)據(jù)庫類型、數(shù)據(jù)類型進行充分的調(diào)查和了解。在第一次進行數(shù)據(jù)采集的過程中,由于會包含很多業(yè)務(wù)數(shù)據(jù),所以在進行第一次數(shù)據(jù)采集過程中屬于全量抽取。在此后的數(shù)據(jù)采集工作中,需要將此作為基礎(chǔ)進行增量抽取。在工作中需要確定合理的抽取頻率,由于不同的業(yè)務(wù)數(shù)據(jù)類型具有不同的特點,所以需要根據(jù)實際情況設(shè)定相應(yīng)的抽取頻率。例如圖書借閱產(chǎn)生的數(shù)據(jù)可以進行1天1次抽取或者更短時間內(nèi)進行抽取,如果是針對讀者信息進行抽取,則可以將抽取頻率延長設(shè)定為半年1次或者一學(xué)期1次。在完成了數(shù)據(jù)的采集和抽取之后,需要對采集到的數(shù)據(jù)進行清洗。進行數(shù)據(jù)清洗是為了刪除不必要、不可利用的相關(guān)數(shù)據(jù),主要是針對缺失重要字段的不完整數(shù)據(jù)或者存在明顯錯誤的數(shù)據(jù)以及具有重復(fù)信息的數(shù)據(jù)。在進行數(shù)據(jù)清洗過程中,應(yīng)當建立合理的數(shù)據(jù)清洗標準,根據(jù)數(shù)據(jù)清洗標準利用SQL代碼查找相應(yīng)的字段進行Delete操作。
為了促進基礎(chǔ)大數(shù)據(jù)平臺智慧圖書館的順利構(gòu)建,需要合理運用相關(guān)技術(shù),革新自己的理念。在合理構(gòu)建大數(shù)據(jù)技術(shù)智慧圖書館架構(gòu)之后,采用相應(yīng)的技術(shù)手段,保障智慧圖書館的效果和工作效率,充分了解各項關(guān)鍵技術(shù)、服務(wù)層的作用與意義,使運行系統(tǒng)保持穩(wěn)定的運行,展現(xiàn)出基礎(chǔ)大數(shù)據(jù)平臺智慧圖書館的優(yōu)勢。