在hdfs中列出文件并将输出附加到文本文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在hdfs中列出文件并将输出附加到文本文件相关的知识,希望对你有一定的参考价值。
我想根据条件列出hadoop中的文件,并将输出附加到文本文件。以下是我正在使用的命令
hadoop fs -ls /path/ | grep 'xxx' | awk '{print $8}' >> /hdfs_path/test.txt
当我执行上面的命令时,它说下面的错误
-bash:/hdfs_path/test.txt:没有这样的文件或目录
但该文件存在于目录中。
答案
问题是stdout重定向只知道你的本地文件系统,并且对Hadoop一无所知,也不能原生地写入它。您需要坚持使用hadoop fs
或更新的hdfs dfs
命令进行hdfs交互。
尝试使用appendToFile作为你的管道命令。
用法:hdfs dfs -ls /your/hdfs/path | grep 'xxx' | hdfs dfs -appendToFile - hdfs://your.hdfs.system/your/hdfs/path/paths.txt
我唯一的另一种选择是将输出保存到本地文件系统,并在完成后将其上传到HDFS(如果需要)。
以上是关于在hdfs中列出文件并将输出附加到文本文件的主要内容,如果未能解决你的问题,请参考以下文章