Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
保留所有权/权限的hadoop副本_Hadoop - Fatal编程技术网

保留所有权/权限的hadoop副本

保留所有权/权限的hadoop副本,hadoop,Hadoop,在hadoop中复制文件时,有没有办法保留所有权/权限? 尝试了hadoop fs-cp-p。没用 没有,但您可以(假设您拥有适当的权限)在复制文件后更改所有权。当前无法在复制权限时创建文件的两个副本,但是,根据您的使用情况,可以选择移动文件。例如,我不得不更改一个文件的位置及其权限,还想保留一个备份(权限无关紧要),所以我带着权限移动到了新位置,并将其复制回原始位置,而无需修改。我知道这没有多大帮助,但这是目前Hadoop中最好的功能。当然可以。但我建议您使用distcp,这是一种在集群之间或

在hadoop中复制文件时,有没有办法保留所有权/权限?
尝试了hadoop fs-cp-p。没用

没有,但您可以(假设您拥有适当的权限)在复制文件后更改所有权。

当前无法在复制权限时创建文件的两个副本,但是,根据您的使用情况,可以选择移动文件。例如,我不得不更改一个文件的位置及其权限,还想保留一个备份(权限无关紧要),所以我带着权限移动到了新位置,并将其复制回原始位置,而无需修改。我知道这没有多大帮助,但这是目前Hadoop中最好的功能。

当然可以。但我建议您使用distcp,这是一种在集群之间或同一集群上复制数据的高级工具,您有很多选择来优化执行。此命令将运行mapreduce,因此在较长时间内,它将花费较少的时间,并且您可以保留所有属性

例子: 对于所有属性:

  • r:复制编号
  • b:块大小
  • u:用户
  • g:小组
  • p:允许
  • c:校验和类型
  • a:ACL
  • x:XAttr
  • 时间戳
另一个示例,但保留所有属性: 您可以在上阅读有关此命令的更多信息
最重要的不是所有者、组或权限,您可以在copy命令后轻松更改,最重要的属性是ACL、块大小、复制数,有时还有时间戳,这些是额外的属性,您在简单复制(hdfs dfs-cp)后无法如此轻松地更改。

是的,我最终移动了文件。
hadoop distcp /source_dir/data \
              /target_dir/data

hadoop distcp /source_dir/dataA \
              /source_dir/dataB \
              /target_dir/
hadoop distcp -p rbugpcaxt \
              /source_dir/data \
              /target_dir/data