bash-如何检查文件是否已上传到hdfs?

brc7rcf0  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(405)

我在hdfs中创建了一个文件夹。现在,我尝试将一个文件从本地文件系统上载到tmp文件夹,如下所示:

hdfs dfs -put opt/ibm/labfiles/README.md /user/root/input/tmp

但我得到的信息是:

put: '/user/root/input/tmp': File exists

我不明白的是:当我运行测试时,如果文件在那里,我看不到列出的文件,但文件夹有文件的大小(4811位)。再说一次,tmp甚至可能不是一个文件夹:

如何查看tmp是否为文件夹?
如何查看readme.md文件是否在tmp中,或者如果不在tmp中,如何将其放在tmp中?
从这里启动sparkshell时,我无法访问该文件(输入路径不存在)。为什么?

9bfwbjaz

9bfwbjaz1#

据他说 tmp 是一个文件。如果它是一个目录,它会显示 drw_r__r__ 注意 d ,你的没有,所以是个文件。
你应该跑: hdfs dfs -put opt/ibm/labfiles/README.md /user/root/input/tmp/README.md

tv6aics1

tv6aics12#

如果tmp是一个已经存在的目录,您可以直接对其进行写入,而忽略文件名:

hdfs dfs -put opt/ibm/labfiles/README.md /user/root/input/tmp/

在末尾添加额外的“/”。如果在最后设置“/”—它将写入目录,否则命令将尝试创建一个名称位于路径中最后一个“/”符号之后的文件

相关问题