2017-02-21 5 views
0

다양한 파일에서 열 병합 (파일은 로컬)내가 Talend를 사용하여 폴더에있는 파일의 열 병합을 달성하기 위해 노력하고 Talend

예 : -. 4 개 파일은 폴더에 있습니다. ('n'개의 파일도있을 수 있습니다.)

각 파일의 값은 100 개입니다.

그래서 병합 후 출력 파일에는 100 개의 레코드가있는 4 또는 'n'개의 열이 있습니다.

Talend 구성 요소를 사용하여이 방법으로 병합 할 수 있습니까?

tmap에서 2 개의 파일을 사용하려고하면 출력 레코드가 곱 해집니다 (첫 번째 파일의 레코드 * 두 번째 파일의 레코드).

도움을 주시면 감사하겠습니다.

감사합니다.

답변

0

다른 파일의 데이터를 결합하는 방법을 결정해야합니다. 각 파일의 행 번호 N이 다른 파일의 행 번호 N과 일치해야하는 경우 각 파일에 시퀀스를 설정하고 시퀀스를 결합하여 결과를 가져와야합니다. 조심스럽게, 각 파일의 데이터 순서에 전적으로 의존합니다. 출력에 입력을 복사

tFileInputdelimited_1 --> tMap_1 --->{tMap_5 
tFileInputdelimited_2 --> tMap_2 --->{tMap_5 
tFileInputdelimited_3 --> tMap_3 --->{tMap_5 
tFileInputdelimited_4 --> tMap_4 --->{tMap_5 

를 TMAP에서 1에서 4까지, 그리고 출력에 "순서"열 (데이터 형식 정수)를 추가로 채우 :

그럼 당신은이 일을 할 수 있습니다 Numeric.sequence("IDENTIFIER1",1,1). 그런 다음 출력에는 데이터와 고유 한 순서의 두 열이 있습니다. 각 소스마다 다른 식별자를 사용하도록주의하십시오.

그런 다음 tMap_5에서 다른 시퀀스를 조인하고 inputColumn을 가져옵니다.

+0

제안 해 주셔서 감사합니다.하지만이 방법을 사용하면 파일의 열 순서가 유지되지 않습니다. 동일한 시퀀스 번호를 가진 모든 레코드를 병합하기 위해 tpivotToColumnsDelimited를 수행 했습니까? 이제 원본 열을 병합하기 위해 열의 순서를 뒤섞는 방법을 시도해보십시오. –