linux - 如何知道文件是否成功从本地传输到 hdfs

标签 linux bash shell hadoop hdfs

我们要将本地文件复制到HDFS

例子

su  hdfs -c 'hadoop fs -put -f /tmp/hadoop-streaming.jar /hdp/apps/2.6.4.0-91/mapreduce'

这个命令实际上是将用户切换到HDFS并将/tmp下的本地文件复制到/hdp/apps/2.6.4.0-91/mapreduce

最大的问题是 - 如何知道文件是否传输成功?

只捕获 $ 可以吗?从命令行?

作为

su  hdfs -c 'hadoop fs -put -f /tmp/hadoop-streaming.jar /hdp/apps/2.6.4.0-91/mapreduce'
[[ $? -eq 0 ]] && echo "congratulations - files transferred successfully - well done !!!!!!!!!!!!!! "

最佳答案

测试文件是否复制到 HDFS 的方法应该是 $?

作为

[[ $? -eq 0 ]]

将捕获标准错误并从 $?反射(reflect)真实情况

关于linux - 如何知道文件是否成功从本地传输到 hdfs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58553799/

相关文章:

linux - 通过 SSH 进行 Git pull

linux - Bash:如何输出 ls -la 的 "grep"匹配文件所有者和文件权限?

linux - 从打印输出中的特定列中剪切部分元素

python - 如何使用 bash 脚本结束 django 进程?

shell - 如何检索 Eggplant shell 脚本命令的输出

linux - 每天监视文件夹的 Shell 脚本,如果该文件夹上未生成新文件,将发送邮件警报

linux - 在 bash 中使用 for 循环检查数组元素是否为空

linux - 使用 SED 提取数据范围

bash - 使用 awk 提取特定模式(如果它与上一行匹配)

shell - 在 ssh 终端与 ubuntu 桌面上运行相同的命令,在 ssh 终端上无法运行?