在写DataX的全量更新的脚本,结果报的错误,后面发现原因是将系统变量$PATH作为变量传入,导致的错误
mkdir_on_hdfs() {
hd_Path=$HDFS_PATH/$1/$o_date
hadoop fs -test -e $hd_Path
if [[ $? -eq 0 ]]; then
echo "$hd_Path存在,判断是否存在文件"
hadoop fs -test -z $hd_Path
if [[ $? -eq 0 ]]; then
echo "并不存在文件,无需删除文件"
else
echo "存在文件,删除文件"
hadoop fs -rm -r -f $hd_Path/*
fi
else
echo "$hd_Path不存在正在创建"
hadoop fs -mkdir $hd_Path
fi
}
即将PATH
改成hd_Path
即可。