Talend를 사용하여 두 코드 세트 (열거 형) 사이를 매핑하는 방법
문제
다음 소스 테이블이 있다고 가정합니다.
name gender code
Bob 0
Nancy 1
Ruth 1
David 0
.
및 LookueD 테이블 (s_gender_values라고 함)을 가정하자 :
Gender_Code Gender_value
0 Male
1 Female
.
내 목표는 대상 테이블을 만드는 것입니다 (t를 t를 호출하십시오) :
name Gender_Code
Bob M
Nancy F
Ruth F
David M
.
또한 T_GENDERVALUE라는 T_GENDERVALUE라는 표 T에 대한 조회 테이블이 있음을 가정합니다.
Gender_Code Gender_value
M Male
F Female
.
약 2 (또는 3) 대안 :
-
매핑 테이블을 만듭니다 (S_T_GENDER_CODE_MAPPATION을 호출하면 다음과 같이 표시됩니다.
.S_Gender_Code T_Gender_code 0 M 1 F
을 누른 다음 TMAP를 사용하여 간단한 조인 / 조회를 수행하십시오.
-
tmap을 사용하고 맵핑을 구현하는 표현식을 추가합니다.
(S.Gender_Code==0)?"F":"M"
-
대안 2와 유사하지만 사용자 Java 루틴을 사용하려면
다른 대안이 있습니까? 나는 TMAP의 용이성을 활용하여 S_GENDERVALUES와 T_GENDERVALUES 사이를지도하고 우리가 가진 것처럼 UI 도구의 유용성을 획득하기 위해 TMAP
모든 힌트?
해결책
나에게는 옵션 # 1이 불필요하게 복잡하고 프로세스를 늦출 수 있습니다.물론, 수십이나 수천 명의 조회가있는 경우, 그것은 당신이 원하는 것이지만, 두 사람은 아닙니다.
및 옵션 # 3은 또한 값을 흐름 또는 반복 스트림으로 병합하고자 할 것입니다 (TJAVAROW와 같은 구성 요소는 더 복잡한 변환을 더 많이 만들 수 있습니다).
TMAP 구성 요소는 흐름에서 간단한 한 줄 Java 오른쪽을 수행 할 수 있으므로 옵션 2가 최선의 선택과 같이 나에게 소리가납니다.
다른 팁
나는 당신의 비슷한 상황을 해결했습니다. 내 주요 문제는 같은 장소에서 모든 유형의 조회가있는 모든 유형의 조회가있는 큰 조회 테이블을 가지고 있다는 것입니다.
문제가 두 개 대신에 더 많은 옵션으로 자라면 세 번째 접근 방식이 염두에 두어야 할 수 있으므로이 솔루션을 살펴 보려면 조회 테이블의 내용을 전역 변수에 맵핑합니다., 그런 다음 그들을 조회합니다.