Hadoop的Archive归档命令 心已赠人 2022-03-16 15:22 175阅读 0赞 hadoop不适合小文件的存储,小文件本省就占用了很多的metadata,就会造成namenode越来越大。Hadoop Archives的出现视为了缓解大量小文件消耗namenode内存的问题。 采用ARCHIVE 不会减少 文件存储大小,只会压缩NAMENODE 的空间使用 概述 Hadoop存档是特殊格式的存档。Hadoop存档映射到文件系统目录。Hadoop归档文件总是带有\* .har扩展名 Hadoop存档目录包含元数据(采用\_index和\_masterindex形式) 数据部分data(part- \*)文件。 \_index文件包含归档文件的名称和部分文件中的位置。 ![在这里插入图片描述][20190228100824829.png] 如下:原始文件 四个文件 ![在这里插入图片描述][2019022810201271.png] 经过hadoop archive之后: 执行的命令是:hadoop archive -archiveName words.har -p /words -r 1 /wordhar 生成的文件在/wordhar/words.har ![在这里插入图片描述][20190228102037432.png] 执行该命令后,原输入文件不会被删除,需要手动删除 hadoop fs -rmr /words 其中part-0是数据文件 在mapreduce中,会忽略以下划线开头的文件,也就是说上图的\_SUCCESS,\_index,\_masterindex是不会处理的 那么这样一来就只会处理数据文件part-0 job设置的输入路径是 ![在这里插入图片描述][20190228102103328.png] 运行mapreduce中执行的map数量是1 分片为一个 ![在这里插入图片描述][20190228102123395.png] map数量为一个 ![在这里插入图片描述][20190228102148667.png] [20190228100824829.png]: /images/20220316/46262224a6a047ddb830117cb01d03e3.png [2019022810201271.png]: /images/20220316/ee1179da7b504f94a29abb7d5d8125fb.png [20190228102037432.png]: /images/20220316/0e4846682cee42f6b87aaf82f6b3a196.png [20190228102103328.png]: /images/20220316/680d4e2a5e294f72b583c22d0196f0fc.png [20190228102123395.png]: /images/20220316/b6cfe6163e834671965037d7322b2e5e.png [20190228102148667.png]: /images/20220316/54c1c17ec37b45619be4db783febb7ab.png
还没有评论,来说两句吧...