gpt4 book ai didi

hadoop - 如何正确执行 hadoop distcp -f 命令?

转载 作者:可可西里 更新时间:2023-11-01 15:13:56 26 4
gpt4 key购买 nike

我想在我的 hadoop 集群上备份一些文件夹和文件。我运行了这个命令:

hadoop distcp -p -update -f hdfs://cluster1:8020/srclist hdfs://cluster2:8020/hdpBackup/

我的 srclist 文件:

hdfs://cluster1:8020/user/user1/folder1
hdfs://cluster1:8020/user/user1/folder2
hdfs://cluster1:8020/user/user1/file1

folder1 包含两个文件:part-00000 和 part-00001

folder2 包含两个文件:file 和 file_old

该命令有效但会分解所有文件夹内容。

结果:

--hdpBackup
- part-00000
- part-00001
- file1
- file
- file_old

但我想得到结果:

--hdpBackup
- folder1
- folder2
- file1

我不能使用 hdfs://cluster1:8020/user/user1/* 因为 user1 包含很多文件夹和文件。

我该如何解决这个问题?

最佳答案

使用下面的脚本,是shell编程:

 #!/bin/sh

for line in `awk '{print $1}' /home/Desktop/distcp/srclist`;
do
line1=$(echo $line | awk 'BEGIN{FS="/"}{print $NF}')

echo "$line $line1 file are source dest"

hadoop distcp $line hdfs://10.20.53.157/user/root/backup1/$line1

done

srclist 文件需要在本地文件系统中包含如下路径:

   hdfs://10.20.53.157/user/root/Wholefileexaple_1
hdfs://10.20.53.157/user/root/Wholefileexaple_2

关于hadoop - 如何正确执行 hadoop distcp -f 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29077831/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com