如何将除一个文件和目录之外的所有文件和目录从本地驱动器复制到 HDFS?
How to copy all files and directories except one from local drive to HDFS?
我有一个目录 /home/my_directory/
,其中包含以下文件和子目录:
anotherTest.txt doNotCopy.txt my_subdirectory/ subdirectory2/ test.txt
如何复制 HDFS 上除 doNotCopy.txt
文件以外的所有文件和目录?
--copyFromLocal
没有提供排除特定文件的方法。您可以执行以下操作:
ls /home/my_directory | grep -v 'doNotCopy.txt' | while read -r fileName ; do
eval "hdfs dfs -copyFromLocal -f $fileName /path/to/HDFS/"
done
现在,如果您 ls
您的 /path/to/HDFS/
您应该在其中获得所需的文件:
hdfs dfs -ls -C /path/to/HDFS/
anotherTest.txt my_subdirectory/ subdirectory2/ test.txt
如果要排除多个文件或目录
ls /home/my_directory | grep -v 'doNotCopy.txt\|dirDoNotCopy\|anotherTextFile.txt' | while read -r fileName ; do
eval "hdfs dfs -copyFromLocal -f $fileName /path/to/HDFS/"
done
我有一个目录 /home/my_directory/
,其中包含以下文件和子目录:
anotherTest.txt doNotCopy.txt my_subdirectory/ subdirectory2/ test.txt
如何复制 HDFS 上除 doNotCopy.txt
文件以外的所有文件和目录?
--copyFromLocal
没有提供排除特定文件的方法。您可以执行以下操作:
ls /home/my_directory | grep -v 'doNotCopy.txt' | while read -r fileName ; do
eval "hdfs dfs -copyFromLocal -f $fileName /path/to/HDFS/"
done
现在,如果您 ls
您的 /path/to/HDFS/
您应该在其中获得所需的文件:
hdfs dfs -ls -C /path/to/HDFS/
anotherTest.txt my_subdirectory/ subdirectory2/ test.txt
如果要排除多个文件或目录
ls /home/my_directory | grep -v 'doNotCopy.txt\|dirDoNotCopy\|anotherTextFile.txt' | while read -r fileName ; do
eval "hdfs dfs -copyFromLocal -f $fileName /path/to/HDFS/"
done