Linux 在hdfs中列出文件并将输出附加到文本文件
我想根据条件列出hadoop中的文件,并将输出附加到文本文件中。下面是我正在使用的命令Linux 在hdfs中列出文件并将输出附加到文本文件,linux,hadoop,hdfs,Linux,Hadoop,Hdfs,我想根据条件列出hadoop中的文件,并将输出附加到文本文件中。下面是我正在使用的命令 hadoop fs -ls /path/ | grep 'xxx' | awk '{print $8}' >> /hdfs_path/test.txt 当我执行上述命令时,它会显示以下错误 -bash:/hdfs\u path/test.txt:没有这样的文件或目录 但是该文件存在于目录中。问题是stdout重定向只知道您的本地文件系统,对Hadoop一无所知,无法以本机方式写入。对于hdfs交
hadoop fs -ls /path/ | grep 'xxx' | awk '{print $8}' >> /hdfs_path/test.txt
当我执行上述命令时,它会显示以下错误
-bash:/hdfs\u path/test.txt:没有这样的文件或目录
但是该文件存在于目录中。问题是stdout重定向只知道您的本地文件系统,对Hadoop一无所知,无法以本机方式写入。对于hdfs交互,您需要坚持使用
hadoop fs
或更新的hdfs dfs
命令
试试你的管道命令
用法:hdfs-fs-ls/your/hdfs/path | grep'xxx'| hdfs-dfs-appendToFile-hdfs://your.hdfs.system/your/hdfs/path/paths.txt
我唯一的另一种选择是将输出保存到本地文件系统,并在完成后将其上载到HDFS(如果需要)