hadoop fs命令在命令行上工作,但不是在shell脚本中

8qgya5xd  于 2021-05-31  发布在  Hadoop
关注(0)|答案(1)|浏览(344)

我有一个bash shell脚本,其中包含以下命令:

hadoop fs -get ${WORKING_DIRECTORY}${OUTPUT_FILE}

分解成

hadoop fs -get /tmp/out.csv

当我运行shell脚本时,这个命令不会产生任何输出,并且文件不会传输到本地示例。但是,如果我运行命令 hadoop fs -get /tmp/out.csv 直接在外壳上工作。
我错过了什么?

fsi0uk1n

fsi0uk1n1#

问题可能是您的脚本没有看到环境变量,例如 HADOOP_CONF ,并使用本地文件系统而不是hdfs。
确保 .bashrc 以及 .bash_profile 设置正确。
你也应该把 set -x 在你的脚本上面加上2,以确保变量按你认为应该的方式被解析。
更喜欢在中运行脚本 strict mode 1至少在调试时,会为您节省很多时间。

相关问题