当前位置:   article > 正文

HDFS的复制和归档功能_hdfs的part-00242_copy_是什么文件

hdfs的part-00242_copy_是什么文件

Hadoop间的文件复制

集群内部文件拷贝scp,格式: 

scp  -r  文件  root@node2:/export/

跨集群之间的数据拷贝distcp,格式:

bin/hadoop  distcp  hdfs://node1:8020/文件名   hdfs://cluster2:9000/

Archive档案的使用

如何创建Archive

格式: hadoop  archive  -archiveName  name  -p  <parent>  <src>* <dest>

-archiveName指定创建的存档的名称,文件扩展名应该是*.har。 -p:指定文件存档文件(src)的相对路径。

例如:如果你只想存档一个目录/input下的所有文件:

hadoop archive -archiveName test.har -p /input  /outputdir

这样就会在/outputdir目录下创建一个名为test.har的存档文件。

如何查看Archive

首先我们来看下创建好的har文件。使用如下命令:

hadoop fs -ls /outputdir/test.har

 这里可以看到har文件包括:两个索引文件,多个part文件(本例只有一个)以及一个标识成功与否的文件。part文件是多个原文件的集合,根据index文件去找到原文件。

例如上述的三个小文件1.txt 2.txt 3.txt内容分别为1,2,3。进行archive操作之后,三个小文件就归档到test.har里的part-0一个文件里。

archive作为文件系统层暴露给外界。所以所有的fs shell命令都能在archive上运行,但是要使用不同的URI。Hadoop Archives的URI是:

har://scheme-hostname:port/archivepath/fileinarchive  

scheme-hostname格式为hdfs-域名:端口,如果没有提供scheme-hostname,它会使用默认的文件系统。这种情况下URI是这种形式:

har:///archivepath/fileinarchive   

如果用har,uri去访问的话,索引、标识等文件就会隐藏起来,只显示创建档案之前的原文件:

 

  

 

如何解压Archive

按顺序解压存档(串行):

Hadoop  fs  -cp  har:///user/zoo/foo.har/dir1  hdfs:/user/zoo/newdir

要并行解压存档,请使用DistCp:

hadoop  distcp  har:///user/zoo/foo.har/dir1  hdfs:/user/zoo/newdir

Archive注意事项

  1. Hadoop archives是特殊的档案格式, 扩展名是*.har;
  2. 创建archives本质是运行一个Map/Reduce任务,所以应该在Hadoop集群上运行创建档案的命令;
  3. 创建archive文件要消耗和原文件一样多的硬盘空间;
  4. archive文件不支持压缩;
  5. archive文件一旦创建就无法改变,要修改的话,需要创建新的archive文件;
  6. 当创建archive时,源文件不会被更改或删除;
本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号