【问题标题】:No such file or directory when using cat command with hadoop在 hadoop 中使用 cat 命令时没有这样的文件或目录
【发布时间】:2021-05-16 13:24:44
【问题描述】:

我在一个目录中有两个文件,一个名为 word_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 已启动并运行,因此不完全确定如何解决此问题。有什么建议吗?

【问题讨论】:

  • 也许尝试提供绝对/完整路径? hadoop 命令可能看起来相对于错误的位置。
  • @PinggerShikkoken 不幸的是,这并没有太大变化。我试图重新定位文件,也没有工作。

标签: python hadoop command-line terminal


【解决方案1】:

hadoop fs 命令默认从您的 HDFS 用户文件夹中读取。

您首先需要hadoop fs -put README.md,或者如果您打算cat 一个本地文件(如您所说,“一个目录中有两个文件,一个名为 word_mapper.py,另一个名为 README.md "),然后从命令中删除 hadoop fs -,因为文件所在的本地目录和 Python 代码正在运行,不是 HDFS

如果您真的想使用 Python 来运行映射器,那么我建议您查看 mrjob,但最好使用 PySpark,因为 MapReduce 没有被广泛使用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多