2017-03-29 11 views
1

테이블의 머리글 행 위에 텍스트 행 (및 빈 행)이있는 Excel 파일이 여러 개 있습니다.Talend 사용 Studio DI를 열어 고유 한 첫 번째 행에서 추출 값을 추출한 후 열을 계속 처리합니다.

파일을 처리하여 그 행에서 텍스트를 추출하고 여러 파일을 추가 할 때 열로 포함시킬 수있는 가장 좋은 방법은 무엇입니까? 각 파일을 두 번 처리하지 않고도 가능합니까?

This file was created on machine A on 01/02/2013 

Task|Quantity|ErrorRate 

0102|4550|6 per minute 
0103|4004|5 per minute 

그리고 유사한 여러 파일

내가 함께 그것을 할 수있는 방법의 작은, 원유 샘플을 넣어
Task|Quantity|ErrorRate|Machine|Date 
0102|4550|6 per minute|machine A|01/02/2013 
0103|4004|5 per minute|machine A|01/02/2013 
0467|1264|2 per minute|machine D|02/02/2013 

답변

1

의 데이터로 끝낸다. 나는 이것을 원유라고 부른다. 동적이 아니므로 처리 할 파일을 더 추가 할 수 있지만 작업을 작성하기 전에 얼마나 많은 파일을 미리 알아야하며 b. 그것은 기본 개념을 보여 주지만, 여러분의 필요에 맞게 더 많은 작업을 요구할 것입니다. 예를 들어, 내 테스트 파일에서 나는 단순히 "MachineA"또는 "MachineB"를 첫 번째 줄에 가지고 있습니다. 시스템 이름과 날짜를 얻으려면 해당 데이터를 구문 분석해야합니다.

그러나 여기에 샘플이 작동하는 방법이 나와 있습니다. 각 Excel은 두 개의 입력으로 설정됩니다. 본체 tFileInput_Excel는 이들이 결합 된 tMap 라인 4.

에서 읽기 시작하도록 구성되는 반면 헤더의 tFileInput_Excel는 첫 번째 라인을 판독하도록 구성된 출력 스키마로 (접합되지 않은). 이 작업은 Excel A와 B가 가장 뛰어나고, tMaps은 최종 출력을 위해 tUnite과 결합됩니다.

로그 행에서 볼 수 있듯이 데이터는 결합되어 헤더 정보를 포함합니다.

enter image description here

+0

우아한 해결책은 동일한 파일의 2 개의 입력을 사용하는 것이 내 머리 속에 들어 가지 않는다는 것입니다. 어떤 문제가 있는지 1) 입력 중 하나를 차단하는 파일 잠금 또는 2) 조회시 시간 내에 처리 된 헤더 데이터가없는 tMap (또는 talend가 무의미하게 처리 함) – mobcdi

+0

파일에 쓰지 않는 한 파일 잠금과 관련해서는 괜찮을 거라 믿습니다. 샘플은 제대로 작동했지만 행이 몇 개 밖에 없었으므로 프로덕션 환경에서 사용할 행 수를 기반으로 볼륨 테스트를 해보는 것이 좋습니다. 이 접근 방식의 큰 단점은 동적이 아니라는 것입니다. 매번 고정 된 수의 파일이 제공됩니까? –

+0

또한 컴퓨터 이름 (귀하의 경우)과 날짜와 같은 메타 데이터를 파일 이름에 삽입했습니다. 그렇다면 거기에서 얻을 수 있고 2 입력으로 파일을 읽는 것에 대해 걱정할 필요가 없습니다. –