如何将文件从另一个驱动器中的本地目录复制到 Apache Hadoop 中的 HDFS?
How to copy file from local directory in another drive to HDFS in Apache Hadoop?
我是 Apache Hadoop 的新手,我正在尝试将一个简单的文本文件从我的本地目录复制到 Hadoop 上的 HDFS,它已经启动 运行。但是,Hadoop 安装在 D: 而我的文件在 C:.
如果我在 cmd 中对上述驱动器中的文件使用 -put
或 copyFromLocal
命令,它不允许我这样做。但是,如果我将文本文件放在同一个 D: 驱动器中,该文件会正确上传到 Hadoop,并且可以在 Hadoop localhost 上看到。文件与Hadoop同盘工作的代码如下:
hadoop fs -put /test.txt /user/testDirectory
如果我的文件位于单独的驱动器中,我会收到错误 '/test.txt': No such file or directory
。我已经尝试了 /C/pathOfFile/test.txt
的变体但无济于事,所以简而言之,我需要知道如何访问另一个目录中的本地文件,特别是关于 -put
命令。对这个可能是业余问题的任何帮助将不胜感激。
根据您的问题,我假设您已经在 Windows 安装的虚拟机 (VM) 中安装了 Hadoop。如果此假设不正确,请提供更多详细信息。问题是您的 VM 将驱动器 D: 视为本地目录,-put 和 -copyFromLocal 可以在其中查看文件。 C: 当前对这些命令不可见。
您需要将驱动器 C: 挂载到您的 VM,以使其文件可用作 Hadoop 的本地文件。根据您的 VM,有一些指南。我建议您在操作时多加小心,以免误操作任何 Windows 安装文件。
如果您当前的 cmd 会话在 D:\ 中,那么您的命令将查看该驱动器的根目录
您可以尝试为路径添加前缀
file:/C:/test.txt
否则,cd
首先指向包含您的文件的路径,然后 -put test.txt
或 -put .\test.txt
注意:HDFS 不知道 C 和 D 之间的区别,除非您实际将 fs.defaultFS 设置为 file:/D:/hdfs
我是 Apache Hadoop 的新手,我正在尝试将一个简单的文本文件从我的本地目录复制到 Hadoop 上的 HDFS,它已经启动 运行。但是,Hadoop 安装在 D: 而我的文件在 C:.
如果我在 cmd 中对上述驱动器中的文件使用 -put
或 copyFromLocal
命令,它不允许我这样做。但是,如果我将文本文件放在同一个 D: 驱动器中,该文件会正确上传到 Hadoop,并且可以在 Hadoop localhost 上看到。文件与Hadoop同盘工作的代码如下:
hadoop fs -put /test.txt /user/testDirectory
如果我的文件位于单独的驱动器中,我会收到错误 '/test.txt': No such file or directory
。我已经尝试了 /C/pathOfFile/test.txt
的变体但无济于事,所以简而言之,我需要知道如何访问另一个目录中的本地文件,特别是关于 -put
命令。对这个可能是业余问题的任何帮助将不胜感激。
根据您的问题,我假设您已经在 Windows 安装的虚拟机 (VM) 中安装了 Hadoop。如果此假设不正确,请提供更多详细信息。问题是您的 VM 将驱动器 D: 视为本地目录,-put 和 -copyFromLocal 可以在其中查看文件。 C: 当前对这些命令不可见。
您需要将驱动器 C: 挂载到您的 VM,以使其文件可用作 Hadoop 的本地文件。根据您的 VM,有一些指南。我建议您在操作时多加小心,以免误操作任何 Windows 安装文件。
如果您当前的 cmd 会话在 D:\ 中,那么您的命令将查看该驱动器的根目录
您可以尝试为路径添加前缀
file:/C:/test.txt
否则,cd
首先指向包含您的文件的路径,然后 -put test.txt
或 -put .\test.txt
注意:HDFS 不知道 C 和 D 之间的区别,除非您实际将 fs.defaultFS 设置为 file:/D:/hdfs