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