Hadoop的Archive归档命令

心已赠人 2022-03-16 15:22 273阅读 0赞

hadoop不适合小文件的存储,小文件本省就占用了很多的metadata,就会造成namenode越来越大。Hadoop Archives的出现视为了缓解大量小文件消耗namenode内存的问题。

采用ARCHIVE 不会减少 文件存储大小,只会压缩NAMENODE 的空间使用
概述
Hadoop存档是特殊格式的存档。Hadoop存档映射到文件系统目录。Hadoop归档文件总是带有* .har扩展名

Hadoop存档目录包含元数据(采用_index和_masterindex形式)

数据部分data(part- *)文件。

_index文件包含归档文件的名称和部分文件中的位置。
在这里插入图片描述

如下:原始文件 四个文件
在这里插入图片描述
经过hadoop archive之后:

执行的命令是:hadoop archive -archiveName words.har -p /words -r 1 /wordhar

生成的文件在/wordhar/words.har
在这里插入图片描述
执行该命令后,原输入文件不会被删除,需要手动删除

  1. hadoop fs -rmr /words

其中part-0是数据文件

在mapreduce中,会忽略以下划线开头的文件,也就是说上图的_SUCCESS,_index,_masterindex是不会处理的

那么这样一来就只会处理数据文件part-0

job设置的输入路径是
在这里插入图片描述
运行mapreduce中执行的map数量是1

分片为一个
在这里插入图片描述
map数量为一个
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,273人围观)

还没有评论,来说两句吧...

相关阅读