归档
命令格式:
hadoop archive -archiveName name -p <parent> [-r <replication factor>] <src>* <dest>
以归档 /test
目录下所有文件到 /user/lizhen
目录下为例:
hadoop archive -archiveName test.har -p /test -r 3 /user/lizhen
-p
参数,指定了归档文件的父路径
-r
参数,指定了分片
har
打包之后的 .har 是 HDFS 中的目录,结构如下:
- _index
- _masterindex
- part-*
其中,_index
和 _masterindex
存储了归档目录的元数据,part-*
存储了数据
可以使用 HDFS 的 Shell 命令查看归档目录的内容,URL 使用 har://
hdfs dfs -ls har:///user/lizhen/test.har
归档内容不可以修改,所以使用 HDFS Shell 命令创建、修改和删除归档内容会报错
提取文件
可以使用以下 Hadoop Shell 命令提取文件,区别是,后者比前者有更高的并行度
hdfs dfs -cp har:///user/lizhen/test.har/test hdfs:/user/lizhen
hadoop distcp har:///user/lizhen/test.har/test hdfs:/user/lizhen