在hadoop中使用cat命令时没有这样的文件或目录

tvmytwxo  于 2021-07-13  发布在  Hadoop
关注(0)|答案(1)|浏览(427)

我在一个目录中有两个文件,一个叫做word\u mapper.py,另一个叫做readme.md。我试图在hadoop中使用这些文件,但是当我运行命令时 hadoop fs -cat README.md | python3 word_mapper.py 我从终端得到以下响应:

2021-02-12 14:13:55,862 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
cat: `README.md': No such file or directory

hadoop已经启动并运行了,所以不确定如何解决这个问题。有什么建议吗?

dffbzjpn

dffbzjpn1#

hadoop fs 命令默认从hdfs用户文件夹中读取。
你需要先 hadoop fs -put README.md 或者如果你想的话 cat 一个本地文件(正如您所说的“一个目录中有两个文件,一个叫做word\u mapper.py,另一个叫做readme.md”),然后删除 hadoop fs - 因为文件所在的本地目录和运行的python代码不是hdfs
如果您真的想使用python运行Map程序,那么我建议您 mrjob ,但使用pyspark可能更好,因为mapreduce没有广泛使用

相关问题