HDFS的distcp命令两个HDFS集群间传送数据
Java API等多种接口对HDFS访问模型都集中于单线程的存取,如果要对一个文件集进行操作,就需要编写一个程序来执行并行操作。HDFs提供了一个非常实用的程序——distcp ,用来在Hadoop文件系统中并行地复制大数据量文件。distcp一般适用于在两个HDFS集群间传送数据的情况。如果两个集群都运行在同一个Hadoop版本上,那么可以使用HDFS模式: hadoop distcp hdfs://NameNode1/foohdfs://NameNode2/bar 这条命令会将第一个集群中的/foo文件夹以及文件央下的文件复制到第二个集群中的/bar目录下,即在第二个集群中会以/bar/foo的目录结构出现。如果/bar目录不存在,则系统会新建一个。也可以指定多个数据源,并且所有的内容都会被复制到目标路径。需要注意的是,源路径必须是绝对路径。即hdfs://NameNode1/foo 默认情况下,虽然distcp会跳过在目标路径上已经存在的文件,但是通过-overwirte选项可以选择对这些文件进行覆盖重写,也可以使用,-update选项仅对更新过的文件进行重写。 distcp操...