Talend를 사용하여 데이터웨어 하우징 응용 프로그램을 만들려고 할 때 다음과 같은 시나리오가 발생합니다.일대 다 관계를 평평하게 만드는 방법
우리는 마스터와 이벤트 테이블 간의 일대 다 관계가있다
표 마스터
ID | CUST_NAME | CUST_EMAIL
------------------------------------
1 | FOO | [email protected]
이벤트 표
ID | CUST_ID | EVENT_NAME | EVENT_DATE
---------------------------------------
1 | 1 | ACC_APPLIED | 2014-01-01
2 | 1 | ACC_OPENED | 2014-01-02
3 | 1 | ACC_CLOSED | 2014-01-02
과 같이 두 개의 테이블 테이블을 가지고있다. 제한된 수의 이벤트 이름이 주어 지므로이 구조를 비정규 화하는 것이
ID | CUST_NAME | CUST_EMAIL | ACC_APP_DATE_ID | ACC_OPEN_DATE_ID |ACC_CLOSE_DATE_ID
-----------------------------------------------------------------------------------------
1 | FOO | [email protected] | 20140101 | 20140102 | 20140103
DATE_ID
열은 시간 차원 테이블의 항목을 참조합니다.
첫 번째 질문 : 좋은 생각입니까? 이 계획의 다른 대안은 무엇입니까?
두 번째 질문 : Talend Open Studio를 사용하여 어떻게 구현합니까? 나는 각각의 이벤트 이름에 대한 데이터를 tMap
구성 요소를 사용하여 cust_id와 함께 자신의 임시 테이블로 이동시킨 후 다른 tMap
을 사용하여 이들을 함께 연결하는 방법을 알아 냈습니다. 탤런트에서 이것을 할 수있는 또 다른 방법이 있습니까?
고마워요. 그것은 또한 작동 할 것입니다. tPivotToColumnsDelimited 구성 요소를 사용하는 것은 어떻습니까? – Bazooka
tPivotToColumnsDelimited는 구분 된 파일을 출력하므로 사용자가 원하는대로 적합하지 않습니다. 아마 임시 파일을 출력 한 다음 다시 읽어 들일 수는 있지만 유스 케이스에서는 지저분하고 불필요합니다. – ydaetskcoR
동의합니다. 감사. – Bazooka