--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