Hadoop的Archive归档命令

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
在这里插入图片描述
执行该命令后,原输入文件不会被删除,需要手动删除

hadoop fs -rmr /words

其中part-0是数据文件

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

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

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

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

猜你喜欢

转载自blog.csdn.net/weixin_42868638/article/details/88015727