如何以不区分大小写的方式将文件复制到 HDFS

How to copy file to HDFS in case insensitive way

我必须将某些 CSV 文件复制到 HDFS 格式 ABCDWXYZ.csv即。 PERSONDETAILS.csv,我必须将它复制到名称为 AbcdWxyz 的 HDFS 目录,即 PersonDetails。

现在的问题是我没有确切的 HDFS 目录名称,我在修整后从 CSV 文件中获取它并 fire put

Hadoop fs -put $localRootDir/$Dir/*.csv $HDFSRootDir/$Dir

但是它会抛出一个错误,因为在 HDFS 中没有这样的全大写字母的目录。

现在如何将文件复制到 HDFS?有没有办法使用正则表达式或本机使 Hadoop put 命令不区分大小写。 或者有没有一种方法可以将字符串转换为所需的 CamelCase

你应该可以使用

hadoop fs -find / -iname $Dir -print

获取 HDFS 中存在的正确拼写的路径名。然后将其反馈到您的复制命令中。