archive 命令有什么用
archive 可以用来解决 Hadoop 中的小文件问题,当存在大量小文件时,会产生如下影响:
- HDFS 中,小文件过多会占用大量内存,NameNode 内存容量最终会成为限制集群扩展的瓶颈。
- HDFS 读写小文件更加耗时,因为每次都需要从 NameNode 获取元信息,并与对应的 DataNode 建立连接。
- 小文件过多会开很多 map,一个 map 启动一个 JVM 去执行,所以这些任务的初始化,启动,执行会浪费大量的资源,严重影响性能。
如何使用 archive 进行归档
其实已经用法已经很明白了,name指定名字,将路径上的内容创建到 archive 文件中。
例子
首先我们创建一个小文件 text.txt ,上传四份到 HDFS 上
用官方自带的 wordcount 跑一下:
很明显,4个输