标签: bash shell hadoop hdfs
我有一个bash shell脚本,其中包含以下命令:
hadoop fs -get ${WORKING_DIRECTORY}${OUTPUT_FILE}
解析为
hadoop fs -get /tmp/out.csv
当我运行shell脚本时,此命令不会产生任何输出,并且文件不会传输到本地实例。但是,如果我直接在shell上运行命令hadoop fs -get /tmp/out.csv,它将起作用。
我想念什么?
答案 0 :(得分:1)
问题可能出在您的脚本没有看到诸如HADOOP_CONF之类的环境变量,而是使用本地文件系统而不是HDFS。
HADOOP_CONF
确保正确设置.bashrc和.bash_profile。
.bashrc
.bash_profile
此外,您还应该在脚本的顶部放置set -x 2,以确保变量按照您认为的方式解析。
set -x
至少在调试时,最好在strict mode 1中运行脚本,这样可以节省大量时间。
strict mode