Oozie Shell 动作

Oozie Shell action

我有一个 oozie shell 操作,它从 HDFS txt 文件中获取输入,但每次我调用 txt 文件时,它都说目录不存在,但它存在于服务器上。

这是我的 shell 脚本:

#!/bin/bash

Ingesta="MUM_APPs"
msj="''"
#alerta=`hdfs dfs -test -e  /user/inpt_red/oozie/workspace/envio_sms/EnviaSMS/Num_Alerta.txt`

while read line
 do
line=${i}
    Num=$(echo $line | cut -d '|' -f1)
    Proceso=$(echo $line | cut -d '|' -f5)

    if [ "$Proceso" == "*" ] || [ "$Proceso" == "$Ingesta" ]; then
        source /user/inpt_red/oozie/workspace/envio_sms/EnviaSMS/EnviaSMS.sh  ${Num} "'ALERTA!!  $Ingesta (`date +%d-%m-%Y` `date +%H:%M:%S`), $msj'"
    fi`enter code here`

done < <(hadoop fs -cat hdfs://mixsfwdebda01.telefonica.com/user/inpt_red/oozie/workspace/envio_sms/EnviaSMS/Num_Alerta.txt)

编辑 1:

这是我收到的新错误:

sh: line 17: syntax error near unexpected token `<'
sh: line 17: `done < <(hadoop fs -cat hdfs://mixsfwdebda01.telefonica.com/user/inpt_red/oozie/workspace/envio_sms/EnviaSMS/Num_Alerta.txt)'
Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.ShellMain], exit code [1]
log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.impl.MetricsSystemImpl).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

或者,您可以将脚本更改为:

hadoop fs -cat hdfs://mixsfwdebda01.telefonica.com/user/inpt_red/oozie/workspace/envio_sms/EnviaSMS/Num_Alerta.txt |\
while read line; do
    echo "${line}"
    #Some Stuff
    #some more stuff
done