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 壓縮功能,使用方法非常簡單。下面就來看看它的基本用法,以及一些高階功能。一鍵壓縮檔案 壓縮單個檔案或資料夾時,按...