有没有一种方法可以定位Hadoop中的特定文件?
我知道,我可以使用以下命令:hadoop fs -find /some_directory
但是,是否有像这样的命令:hadoop locate some_file_name
?
有没有一种方法可以定位Hadoop中的特定文件?
我知道,我可以使用以下命令:hadoop fs -find /some_directory
但是,是否有像这样的命令:hadoop locate some_file_name
?
如果您正在寻找 Linux 命令 locate 的等价替代品,那么在 Hadoop 中不存在这样的选项。但如果您正在寻找如何查找特定文件的方法,可以使用 fs -find 命令的 name 参数来实现此目的:
hadoop fs -find /some_directory -name some_file_name
如果你正在寻找 HDFS 文件在本地文件系统中的实际位置,你可以使用fsck命令:
hdfs fsck /some_directory/some_file_name -files -blocks -locations
hadoop fs -find
文档中所提到的“表达式”?从文档中可以看到:-find <path> ... <expression> ... :查找与指定表达式匹配的所有文件,并对它们应用选定的操作。如果未指定<path>,则默认为当前工作目录。如果未指定表达式,则默认为-print。
我想使用find
来识别/path1
中的内容,但忽略/path1/path2
。我知道我可以使用grep -v path2
,但我更愿意根本不遍历该目录。 - user9074332hdfs dfs -ls -R /anyDirectory/* | grep theFileNameISearch