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

时间:2016-07-26 14:20:51

标签: bash scala hadoop apache-spark hdfs

created a folder in hdfs。现在,我尝试将文件从本地文件系统上传到tmp文件夹,如下所示:

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

但是我收到了消息:

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

我不明白:当我运行测试时,如果文件存在,我没有看到列出的文件,但文件夹具有文件的大小(4811咬)。然而,tmp甚至可能不是一个文件夹: enter image description here

  • 我怎么能看到tmp是否是文件夹?
  • 我怎么能看到README.md文件是否在tmp中,或者如果没有,我怎么能把它放在那里?
  • 从此处启动SparkShell时,我无法访问该文件(输入路径不存在)。为什么?

2 个答案:

答案 0 :(得分:2)

根据tmp是一个文件。如果它是一个目录,它会显示drw_r__r__注意d,你的没有,所以它是一个文件。

你应该跑:

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

答案 1 :(得分:0)

如果tmp是已经存在的目录,你可以直接写它来省略文件名:

UIApplication.shared().delegate.bufferForI = myIValue
self.navigationController!.pushViewControllerFading(self.storyboard!.instantiateViewController(withIdentifier: "myViewControllerID") as UIViewController)

最后添加额外的'/'。如果最后设置'/' - 它将写入目录,否则命令将尝试在路径<中的最后'/'符号后创建一个带有名称的文件/ p>