标签:des 前缀 文件系统 应该 删除 name 局限性 扩展名 文件的
Hadoop archives是特殊的档案格式。一个Hadoop archive对应一个文件系统目录。 Hadoop archive的扩展名是.har。Hadoop archive包含元数据(形式是_index和_masterindx)和数据(part-)文件。_index文件包含了档案中的文件的文件名和位置信息。
创建archives是一个Map/Reduce job。你应该在map reduce集群上运行这个命令。
用法:hadoop archive -archiveName name -p <parent> <src>* <dest>
(1) -archiveName用来指定要创建的archive的文件名,必须以.har结尾,例如:foo.har;
(2) 参数"-p"为src path的前缀
示例1:
hadoop archive -archiveName IotBillBackup201805.har -p /IotBillBackup201805 /har/IotBillBackup201805
在上面的例子中,/IotBillBackup201805目录下的所有文件会被归档到这个文件系统目录下/har/IotBillBackup201805/IotBillBackup201805.har。
示例2:
hadoop archive -archiveName foo.har -p /user/hadoop dir1 dir2 /user/zoo/
在上面的例子中,/user/hadoop/dir1 和 /user/hadoop/dir2 会被归档到这个文件系统目录下/user/zoo/foo.har。
注意:当创建archive时,源文件不会被更改或删除。
hdfs dfs -ls har:///har/IotBillBackup201805/IotBillBackup201805.har
hdfs dfs -ls har:///user/zoo/foo.har
(1) 串行解压
# 把IotBillBackup201805.har中的文件全部解压到/IotBillBackup201805目录下
hdfs dfs -cp har:///har/IotBillBackup201805/IotBillBackup201805.har/* hdfs:/IotBillBackup201805
hdfs dfs -cp har:////user/hadoop/dir1 hdfs:/user/zop/newdir1
hdfs dfs -cp har:////user/hadoop/dir2 hdfs:/user/zop/newdir2
(2) 并行解压(Map/Reduce job),使用DistCp:
hadoop distcp har:///har/IotBillBackup201805/IotBillBackup201805.har/* hdfs:/IotBillBackup201805
启动一个Mapreduce任务来完成解压
(1) 创建archive文件要消耗和原文件一样多的硬盘空间;
(2) archive文件不支持压缩,尽管archive文件看起来象已经被压缩过了;
(3) archive文件一旦创建就无法改变,这就意味这你要改一些东西的话,你需要重新创建archive文件。
hadoop文件系统上的小文件合并-Hadoop Archives
标签:des 前缀 文件系统 应该 删除 name 局限性 扩展名 文件的
原文地址:https://www.cnblogs.com/concurrencyy/p/9347364.html