Hadoop分布式文件系統(tǒng)及其存儲優(yōu)化方法
【技術領域】
[0001]本發(fā)明涉及數(shù)據(jù)存儲技術領域,特別是涉及Hadoop分布式文件系統(tǒng)及其存儲優(yōu)化方法。
【背景技術】
[0002]Hadoop分布式文件系統(tǒng)(HDFS)被設計成適合運行在通用硬件(commodityhardware)上的分布式文件系統(tǒng)。它和現(xiàn)有的分布式文件系統(tǒng)有很多共同點。但同時,它和其他的分布式文件系統(tǒng)的區(qū)別也是很明顯的。HDFS是一個高度容錯性的系統(tǒng),適合部署在廉價的機器上。HDFS能提供高吞吐量的數(shù)據(jù)訪問,非常適合大規(guī)模數(shù)據(jù)集上的應用。
[0003]HDFS有著高容錯性(fault-tolerant)的特點,并且設計用來部署在低廉的(low-cost)硬件上。而且它提供高吞吐量(high throughput)來訪問應用程序的數(shù)據(jù),適合那些有著超大數(shù)據(jù)集(large data set)的應用程序。
[0004]然而,在大數(shù)據(jù)應用場景下,隨著基于Hadoop的Hive工具在大數(shù)據(jù)存儲和查詢的普遍使用,Hive關聯(lián)HDFS存儲中,存在小文件優(yōu)化問題,但現(xiàn)有的方案單一,無法最大限度的到達優(yōu)化的同時,也能對查詢性能得到提高。
【發(fā)明內容】
[0005]鑒于以上所述現(xiàn)有技術的缺點,本發(fā)明的目的在于提供Hadoop分布式文件系統(tǒng)及其存儲優(yōu)化方法,解決現(xiàn)有技術中對文件存儲優(yōu)化方案單一的問題。
[0006]為實現(xiàn)上述目標及其他相關目標,本發(fā)明提供一種基于Hadoop分布式文件系統(tǒng)的存儲優(yōu)化方法,包括:配置Hadoop分布式文件系統(tǒng)的環(huán)境;判斷待存儲數(shù)據(jù)文件容量是否大于預設閾值,若否,則判斷為小文件,經(jīng)第一優(yōu)化處理后存儲;若是,則判斷為大文件,經(jīng)第二優(yōu)化處理后存儲;其中,所述第一優(yōu)化處理包括=Hadoop分布式系統(tǒng)中HAR格式的處理,所述第二優(yōu)化處理包括基于Hadoop分布式系統(tǒng)的Hive工具的ORCFile格式的處理。
[0007]可選的,所述預設閾值包括:128M。
[0008]可選的,所述經(jīng)第一優(yōu)化處理后的小文件存儲于第一目錄;所述經(jīng)第二優(yōu)化處理后的大文件存儲于第二目錄。
[0009]可選的,所述的存儲優(yōu)化方法,還包括:分別關聯(lián)第一目錄及第二目錄建立數(shù)據(jù)存儲表。
[0010]可選的,所述配置Hadoop分布式文件系統(tǒng)的環(huán)境,包括:配置Namenode HA和ResourceManager HA 功會泛。
[0011]為實現(xiàn)上述目標及其他相關目標,本發(fā)明提供一種Hadoop分布式文件系統(tǒng),包括:配置模塊,用于配置Hadoop分布式文件系統(tǒng)的環(huán)境;存儲處理模塊,用于判斷待存儲數(shù)據(jù)文件容量是否大于預設閾值,若否,則判斷為小文件,經(jīng)第一優(yōu)化處理后存儲;若是,則判斷為大文件,經(jīng)第二優(yōu)化處理后存儲;其中,所述第一優(yōu)化處理包括=Hadoop分布式系統(tǒng)中HAR格式的處理,所述第二優(yōu)化處理包括基于Hadoop分布式系統(tǒng)的Hive工具的ORCFile格式的處理。
[0012]可選的,所述預設閾值包括:128M。
[0013]可選的,所述經(jīng)第一優(yōu)化處理后的小文件存儲于第一目錄;所述經(jīng)第二優(yōu)化處理后的大文件存儲于第二目錄。
[0014]可選的,所述的Hadoop分布式文件系統(tǒng),還包括:建表模塊,用于分別關聯(lián)第一目錄及第二目錄建立數(shù)據(jù)存儲表。
[0015]可選的,所述配置Hadoop分布式文件系統(tǒng)的環(huán)境,包括:配置Namenode HA和ResourceManager HA 功會泛。
[0016]如上所述,本發(fā)明提供Hadoop分布式文件系統(tǒng)及其存儲優(yōu)化方法,配置Hadoop分布式文件系統(tǒng)的環(huán)境;判斷待存儲數(shù)據(jù)文件容量是否大于預設閾值,若否,則判斷為小文件,經(jīng)第一優(yōu)化處理后存儲;若是,則判斷為大文件,經(jīng)第二優(yōu)化處理后存儲;其中,所述第一優(yōu)化處理包括=Hadoop分布式系統(tǒng)中HAR格式的處理,所述第二優(yōu)化處理包括基于Hadoop分布式系統(tǒng)的Hive工具的ORCFile格式的處理;對應不同容量的文件作不同優(yōu)化存儲處理,尤其是在海量文件的存儲上,有效提升性能。
【附圖說明】
[0017]圖1顯示為本發(fā)明一實施例中基于Hadoop分布式文件系統(tǒng)的存儲優(yōu)化方法的流程不意圖。
[0018]圖2顯示為本發(fā)明一實施例中Hadoop分布式文件系統(tǒng)的結構示意圖。
[0019]元件標號說明
[0020]IHadoop分布式文件系統(tǒng)
[0021]11配置模塊
[0022]12存儲處理模塊
[0023]SI?S4 方法步驟
【具體實施方式】
[0024]以下通過特定的具體實例說明本發(fā)明的實施方式,本領域技術人員可由本說明書所揭露的內容輕易地了解本發(fā)明的其他優(yōu)點與功效。本發(fā)明還可以通過另外不同的【具體實施方式】加以實施或應用,本說明書中的各項細節(jié)也可以基于不同觀點與應用,在沒有背離本發(fā)明的精神下進行各種修飾或改變。需說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
[0025]如圖1所示,本發(fā)明提供一種基于Hadoop分布式文件系統(tǒng)的存儲優(yōu)化方法,包括:
[0026]步驟S1:配置Hadoop分布式文件系統(tǒng)的環(huán)境。
[0027]在一實施例中,所述配置Hadoop分布式文件系統(tǒng)的環(huán)境,可以是搭建Hadoop2.6的集群環(huán)境,并配置好HIVE、HDFS等環(huán)境與配置,并設置好Namenode HA (Namenode高可用性)和ResourceManager HA(資源管理器高可用性)功能,使分布式系統(tǒng)滿足高可用性。
[0028]步驟S2:判斷待存儲數(shù)據(jù)文件容量是否大于預設閾值。
[0029]在一實施例中,所述待存儲數(shù)據(jù)文件的來源可以是通過Flume獲取的源數(shù)據(jù),對數(shù)據(jù)的文件大小進行判斷;Flume是Cloudera公司提供的一個高可用、高可靠的分布式的海量日志采集、聚合和傳輸?shù)墓ぞ撸籉lume支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù);同時,F(xiàn)lume提供對數(shù)據(jù)進行簡單處理,并寫到各種數(shù)據(jù)接受方(可定制)的能力。
[0030]在一實施例中,所述預設閾值包括:128M ;若在預設閾值以下可認為是小文件,若大于預設閾值可認為是大文件,此處預設閾值為128M僅為優(yōu)選例,并非以此為限,例如在HDFS中小于其塊大小(block size,默認64M)的文件即可認為是小文件,因此,該預設閾值可以根據(jù)實際需求加以變化。
[0031]步驟S3:若否,則判斷為小文件,經(jīng)第一優(yōu)化處理后存儲;
[0032]步驟S4:若是,則判斷為大文件,經(jīng)第二優(yōu)化處理后存儲;
[0033]其