반응형
💡 oozie workflow에서,
main workflow에서 sub worfklow 실행 시 하위task인 sub workflow로 변수를 보내준다.
shell script는
from - to 날짜를 입력 받고, argument가 없으면 오늘 날짜를 return해주는 shell script이다.
#!/bin/bash
regex="[0-9]{4}-[0-9]{2}-[0-9]{2}"
if [ -n "$1" ]; then
if [[ $1 =~ $regex ]]: then
if [[ $2 =~ $regex ]]: then
fromInt=$(echo $1 | sed 's/-//g')
fromInt=$(echo $2 | sed 's/-//g')
if [ $(($fromInt < $toint)) == 1 ] || [ $(($fromInt < $toint)) == 1 ]; then
echo from=$1
echo to=$2
else
echo from=ERR
echo to=start_value_i_greater_than_end_value
fi
else
echo from=ERR
echo to=second_argument_err
fi
else
echo from=$1
echo to=$2
fi
else
echo from=ERR
echo to=first_arggument_err
fi
else
getdt=$(date +%Y-%m-%d)
echo from=$getdt
echo to=$getdt
fi
에러가 없을 경우
위와 같은 결과를 가져온다.
분기 문에,
resultCode가 OK이면, sub workflow로 이동하도록 한다.
${wf:actionData("shell-id")["reseultCode"] eq 'OK'}
sub-workflow에서는, 상단 shell script의 action Data를, 변수로 넣어준다.
${wf:actionData("shell-id")["from"]}
${wf:actionData("shell-id")["to"]}
sub workflow 에서의 변수는 아래와 같이 간단히 사용한다.
Hive Query에서는 hivevar를 이용해 쿼리문을 저장한다.
sub workflow의 hive query 결과가 아래와 같이, main workflow에서 전달 받은 argument들로 return 된 것을 확인 할 수 있다.
반응형
'Study' 카테고리의 다른 글
openAI를 이용한 PDF 문서 기반 챗봇 (1) | 2023.07.11 |
---|---|
hive query 에서 hivevar 사용하기 (0) | 2023.04.07 |
oozie workflow에서, argument를 입력 받은 shell script의 결과를 다음 task(Hive Query)에서 변수로 사용하기 (0) | 2023.04.04 |
Virtualenv(venv) 로 python 다른 버젼 가상환경 설정 (0) | 2023.01.11 |
KOSIS(국가통계포털) 대용량통계자료 openAPI 사용 (0) | 2022.12.02 |