[HADOOP] OOZIE 워크 플로에서 논리 연산자를 사용하는 방법
HADOOPOOZIE 워크 플로에서 논리 연산자를 사용하는 방법
나는 우기 워크 플로우가있다. 내가 결정 제어 노드를 사용하여 술어에서 "&&"두 가지 다른 조건을 원합니다. 그리고 나는 그들 사이에 "&&"를 사용하여 최종 TRUE / FALSE 결과를 얻어야합니다.
그런 조건에 대한 술어 구문을 찾지 못합니다.
이걸 사용하는 메신저
<decision name="comboDecision">
<switch>
<case to="alpha">
---------
</case>
</switch>
</decision>
나는 이것을 원한다. =
<decision name="comboDecision">
<switch>
<case to="alpha">
condition1 && condition2
</case>
</switch>
</decision>
누구든지 구문을 도와 줄 수 있습니까?
해결법
-
==============================
1.이것을 예제로 설명하겠습니다.
이것을 예제로 설명하겠습니다.
사람의 나이를 출력하는 Java 액션이 있다고 가정 해 봅니다 (이 액션을 getAgeInfo라고 부름).
'person.age': Age of the person
액션 :
<action name='getAgeInfo'> <!--Outputs 1 property: person.age: returns age of the person--> <java> .......... </java> <ok to="makeClassification" /> <error to="fail" /> </action>
다음 작업은 make_Classification입니다. make_Classification 작업에서 우리는 사람의 나이를 기준으로 사람을 "아동", "십대", "중년"또는 "고령자"로 분류합니다.
예 : 사람의 나이가 12 세 이상인 경우 20 세 미만으로 분류하여 십대 행동으로 전환합니다.
다음은 "and"를 사용하는 switch 문입니다.
<decision name="makeClassification"> <switch> <case to="child"> ${wf:actionData('getAgeInfo')['person.age'] gt 0 && wf:actionData('getAgeInfo')['person.age'] lt 12} </case> <case to="teenager"> ${wf:actionData('getAgeInfo')['person.age'] ge 12 && wf:actionData('getAgeInfo')['person.age'] lt 20} </case> <case to="mid-aged"> ${wf:actionData('getAgeInfo')['person.age'] ge 20 && wf:actionData('getAgeInfo')['person.age'] lt 50} </case> <case to="senior-citizen"> ${wf:actionData('getAgeInfo')['person.age'] ge 50} </case> <default to="error"/> </switch> </decision>
gt (greater보다 큼), lt (less than), 논리 (||), 논리 및 (&&)의 사용법을 보여주는 예제 Oozie by Example을 볼 수 있습니다.
-
==============================
2.EL 함수 / 표현식은 JSP 표현식 언어 구문을 사용합니다. oozie의 문서에서
EL 함수 / 표현식은 JSP 표현식 언어 구문을 사용합니다. oozie의 문서에서
JSP 2.0 사양을 확인하여 구문을 확인할 수 있습니다.
특히 귀하의 질문에 대한 대답은 :
<decision name="comboDecision"> <switch> <case to="alpha">${(condition1) and (condition2)}</case> <default to="end"/> </switch> </decision>
from https://stackoverflow.com/questions/33957236/how-to-use-logical-operators-in-oozie-workflow by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] oozie 워크 플로에서 루프 처리 (0) | 2019.07.28 |
---|---|
[HADOOP] 하이브를 사용한 사용자 정의 InputFormat (0) | 2019.07.28 |
[HADOOP] SQL 데이터를 Hortonworks에로드하는 방법? (0) | 2019.07.28 |
[HADOOP] Hadoop 오류 - 모든 데이터 노드가 중단됩니다. (0) | 2019.07.28 |
[HADOOP] HBase가 ./start-hbase.sh - 권한이 거부 된 후에 실행되지 않습니다? (0) | 2019.07.28 |