徐亦卿
摘要:人們通常會誤認為大數據即是大量數據,真實意義上的大數據技術則是對于數據的分類、處理、計算的綜合類的技術總稱。大數據技術本質是上對數據的極快計算能力,它與傳統的編程技術有著本質區別。對于大數據構成以及實現較高的計算能力的探究,是每個相關行業人員提升自己的必要途徑。認識大數據技術的具體構成技術、詳細功能、應用領域,是每個軟件開發和教育相關領域人才成長的必經途徑,因此,對于此方面的研究對于個人專業能力成長具有積極意義。
關鍵詞:大數據技術;大數據管理模塊組成技術;技術分析;分支技術探析
中圖分類號:TP311? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)27-0033-02
自從我國各領域對大數據技術產生應用需求之后,已有多個企業并計算機技術開發應用領域人員開始對多個情境下的大數據技術的需求、應用以及發展做出了應有的貢獻。在大數據技術日趨成熟之際,人們對大數據的認知成熟度需要得到普遍提升,而計算機技術領域的專業人員也需要站在專業角度,對大數據技術的構成進行深入了解。這不僅對大數據技術的普及應用和持續發展有益,更對各領域的個人發展、順應時代潮流以及個人的專業素養提升有極大幫助意義。本文中筆者結合自身對于大數據相關技術的正確認知,對大數據技術發展認識基礎上的分支技術體系展開深入討論。
1 基于分布式大數據管理模塊構成的技術探究
我們在深入挖掘大數據技術對其進行了解之前,首先要了解它主要需要解決什么問題,以及能夠解決什么問題。一方面,在大數據技術出現之前,IT行業各類技術發展速度不是很快,系統化應用過程中的各類軟件框架體系也足夠完善,普通的單個服務器為基礎平臺的數據庫之計算能力,也足夠支撐各類系統計算業務。但隨著各行業數據越來越多,單機計算能力上限已經被多個行業的計算軟件“觸頂”。在這種情況下,大數據管理模塊技術開始被人們所關注,下面分析支持它進行計算的細分技術。
首先,在大量數據儲存方面,HDFS的分布式儲存可以解決數據儲存的困難。它可以讓多個主機對同一任務進行同時計算。那么,它的實現需要周邊便衍生了許多與管理和緩存有關的技術。包括:“yarn”技術可以在程序開發中幫助人解決資源難資源調節難題;“flume”可以幫助解決傳輸數據的問題;“sqoop”可以轉換分布式儲存數據與傳統數據庫之間的數據;“oozie”可以幫助業務程序資源調節計算任務;“kafka”則提供了發布訂閱機制的消息隊列;“zookeeper”可以有效地幫助用戶快速完成對主備服務的選擇;“hive”在HDFS的基礎上提供了數倉的功能。“hbase”基“hdf”來實現一個列式數據庫。然后從數據處理過程來看,對于數據庫計算技術方面的大數據相關技術應用,是在普通數據庫技術存在和被應用基礎上對計算業務進行邏輯處理的過程。對于單一的業務處理,可以通過編寫健壯的代碼進行定時的任務進行相應數據的結算。若業務冗雜,需要定時獲取多種數據采集分析,則通過代碼實現各個JOB維護成本太高。在“Hadoop2.0”完美解決該問題,采用HQL自動生成數據的mapreduce任務基礎上,多個領域的項目實踐過程中,就會出現多個reduce任務就會被批量刪除掉的情況。因此,Hadoop技術正在走在被淘汰的路上。那么,Hadoop 現在是一個可以用硬件集群上進行大規模數據處理的優秀工具,但是若開發人員需要處理動態數據集、點對點分析多進程數據,那么Google已經為我們展示了大大優于MapReduce范型的技術選擇。因此毫無疑問,Percolator、Dremel和Pregel將成為大數據技術未來發展的主流技術。
2 支撐大數據管理模塊組成的各類技術詳析
為了能夠更好地架構大數據項目,技術人員、項目經理、架構師等大數據管理模塊開發流程中不同角色人員為了選擇合適的技術,必須了解大數據各種技術之間的關系,以便選擇合適的語言,實現相應的功能。那么,筆者在下面對幾點中提到的大數據分支技術進行詳細分析。
2.1 HDFS技術
與普通編程語言應用編寫系統相比,HDFS主要改革在數據儲存形式方面,HDFS即Hadoop是以流式的數據查找和提取模式對文件型數據進行規模化儲存,而且大數據管理模塊應用中的數據通常是占用內存過大的單元數據,HDFS運行于多個主機集群中,屬于是管理網絡中跨多臺及其進行數據儲存的文件系統支撐基礎。
我們從HDFS技術應用的過程來分析使用數據塊的益處:在程序運行過程中,HDFS上的文件會被劃成64MB大的多個分塊,每一個數據塊都可以存儲不同的數據。文件型數據塊不需要儲存在同一個磁盤上,因此它們可以利用集群上的任意一個磁盤實現存儲。所以這從根本上大幅提升了大量數據管理的效率。而HDFS技術也可以提高系統中對數據儲存的容錯力。在業務處理方面HDFS的優點更為明顯:HDFS的應用可以做到簡化儲存子系統的設計,將每個服務器的儲存子系統控制單元設置為“塊”,因此可實現簡化儲存管理,用一個單獨的系統就可以管理這些塊的元數據,這就大幅減輕了服務器的數據管理壓力。
2.2 yarn技術
Hadoop集群管理員希望能根據不同的業務組或不同的用戶對集群yarn作業的資源進行控制,也就是對yarn的資源池進行劃分,達到資源管控、任務管控的效果。yarn技術管理分配資源細節如下:yarn默許提供了多種資源分配的策略,用于分配的資源可以是節點的數量、內存的大小、CPU核數,它主要將MP1中JobTracker的資源管理和作業資源調節兩個功能分散,分別由ResourceManager和ApplicationMaster進程來實現管理,以負責整個集群的資源管理和資源調度,并負責處理應用程序提出的事件,比如調節任務及數據資源、監視運行任務情況和出錯信息等,具體作用體現在“模塊提交作業”“初始化作業”“分配任務和運行”“更新模塊運行相關數據”等方面。而Flume可以通過運行可靠的服務模塊,用于有效地收集和移動日志數據,使用簡單的可擴展數據模型,被允許收集日志數據,導進到HDFS中并實現在線分析應用程序。因此,HDFS是Hadoop應用程序中主要的分布式儲存系統。