建立hadoop 歸檔檔案

2021-09-06 06:46:16 字數 3443 閱讀 3474

hadoop可以建立自己的歸檔檔案  即har檔案(hadoop archive file)。下面的乙個shell命令展示如何建立歸檔檔案:

$ hadoop archive -archivename geoway_portal.har /user/administrator/geoway_port

al/(對這個目錄下的檔案進行歸檔)                 /tmp/(要儲存的位置)

12/11/07 22:04:28 info mapred.jobclient: running job: job_201211070851_0001

12/11/07 22:04:29 info mapred.jobclient:  map 0% reduce 0%

12/11/07 22:04:46 info mapred.jobclient:  map 42% reduce 0%

12/11/07 22:04:58 info mapred.jobclient:  map 60% reduce 0%

12/11/07 22:05:04 info mapred.jobclient:  map 100% reduce 0%

12/11/07 22:05:22 info mapred.jobclient:  map 100% reduce 100%

12/11/07 22:05:24 info mapred.jobclient: job complete: job_201211070851_0001

12/11/07 22:05:24 info mapred.jobclient: counters: 17

12/11/07 22:05:24 info mapred.jobclient:   job counters

12/11/07 22:05:24 info mapred.jobclient:     launched reduce tasks=1

12/11/07 22:05:24 info mapred.jobclient:     launched map tasks=1

12/11/07 22:05:24 info mapred.jobclient:   filesystemcounters

12/11/07 22:05:24 info mapred.jobclient:     file_bytes_read=926

12/11/07 22:05:24 info mapred.jobclient:     hdfs_bytes_read=474439229

12/11/07 22:05:24 info mapred.jobclient:     file_bytes_written=1402

12/11/07 22:05:24 info mapred.jobclient:     hdfs_bytes_written=474438973

12/11/07 22:05:24 info mapred.jobclient:   map-reduce framework

12/11/07 22:05:24 info mapred.jobclient:     reduce input groups=7

12/11/07 22:05:24 info mapred.jobclient:     combine output records=0

12/11/07 22:05:24 info mapred.jobclient:     map input records=7

12/11/07 22:05:24 info mapred.jobclient:     reduce shuffle bytes=0

12/11/07 22:05:24 info mapred.jobclient:     reduce output records=0

12/11/07 22:05:24 info mapred.jobclient:     spilled records=14

12/11/07 22:05:24 info mapred.jobclient:     map output bytes=424

12/11/07 22:05:24 info mapred.jobclient:     map input bytes=569

12/11/07 22:05:24 info mapred.jobclient:     combine input records=0

12/11/07 22:05:24 info mapred.jobclient:     map output records=7

12/11/07 22:05:24 info mapred.jobclient:     reduce input records=7

由上面的shell命令執行過程,在進行hadoop har檔案歸檔的時候使用了mapreduce。需要注意的是:在建立archive檔案後,原始檔不會被更改或者刪除。archive作為檔案系統暴漏給外界。所以所有的fs shell命令都能在archive上執行,但是需要使用不同的uri。另外注意的是archive是不可改變的。所以重新命名、刪除和建立都會返回錯誤。

hadoop archive的uri是:

har://scheme-hostname:port/archivepath/fileinarchive。

如果想檢視剛建立的歸檔檔案,可以執行以下命令:

$ hadoop fs -lsr har:///tmp/geoway_portal.har

drw-r--r--   - administrator supergroup          0 2012-11-07 22:05 /tmp/geoway_

portal.har/user

drw-r--r--   - administrator supergroup          0 2012-11-07 22:05 /tmp/geoway_

portal.har/user/administrator

drw-r--r--   - administrator supergroup          0 2012-11-07 22:05 /tmp/geoway_

portal.har/user/administrator/geoway_portal

-rw-r--r--  10 administrator supergroup  419438592 2012-11-07 22:05 /tmp/geoway_

portal.har/user/administrator/geoway_portal/sde.dbf

-rw-r--r--  10 administrator supergroup   54993818 2012-11-07 22:05 /tmp/geoway_

portal.har/user/administrator/geoway_portal/likehua.zip

-rw-r--r--  10 administrator supergroup       6144 2012-11-07 22:05 /tmp/geoway_

portal.har/user/administrator/geoway_portal/tes2.dmp

Hadoop小檔案歸檔

hdfs檔案的元資料存放在namenode,大量的小檔案會導致namennode記憶體耗盡。hdfs提供了一種針對小檔案的歸檔方案,namenode將多個小檔案歸檔後的檔案視為乙個整體,所以可以大大降低元資料的開銷。但是對於使用者訪問來說卻是透明的,仍然可以可以對每個檔案單獨訪問。檔案歸檔需要執行m...

shell命令使用Hadoop歸檔檔案

每個檔案hdfs採用塊方式進行儲存,在系統執行時,檔案塊的元資料資訊會被儲存在namenode的記憶體中,因此,對hdfs來說,大規模儲存小檔案顯然是低效的,很多小檔案會耗盡namenode的大部分記憶體。hadoop歸檔檔案和har檔案可以將檔案高效地放入hdfs塊中的檔案存檔裝置,在減少name...

如何輕鬆歸檔檔案?2種方法輕鬆建立歸檔檔案!

zip 歸檔可以把乙個或多個檔案壓縮成占用空間更小的單一檔案。當你想釋放硬碟空間,或者需要通過郵件和 資訊 傳送多個檔案時,zip 的重要性不言而喻。macos 的 訪達 內建了 zip 壓縮功能,使用方法非常簡單。下面就來看看它的基本用法,以及一些高階功能。一鍵壓縮檔案 壓縮單個檔案或資料夾時,按...