2017-12-29 43 views
0

Excel 데이터가 있고 Open Studio 용 Talend Big Data를 사용하여 MongoDB에 데이터를 삽입하려고합니다. 이Talend에서 ISO 날짜 형식으로 문자열 변환

엑셀 시트에서
tFileInputExcel --> tMap --> tMongoDBOutput 

, 내가이 형식으로 날짜 값 열이, 내 일이다 2017년 7월 13일 (MM/DD/YYYY) 문자열 유형으로 나는이 열을 삽입하려고 ISO 형식으로 값 MongoDB에 ISODate ("2017-07-13T00 : 00 : 00.000Z").
tFileInputExcel :enter image description here

TMAP :enter image description here

tMongoDBOutput :

내 작업이다이 작업을 실행하면 enter image description here

, 나는 아래의 오류 받고 있어요 . 오류 : enter image description here

내가이 TalendDate.parseDate ("MM/DD/YYYY", row1.ClosingDate) 같은 구문 분석 형식을 변경, 나는 SimpleDateFormat의 오류를 받고 있어요. 간단한 날짜 형식 오류enter image description here 이 문제를 해결하는 방법?

TalendDate.parseDate("MM/dd/yyyy",row3.newColumn) 

자동으로 MongoDB를 열이 날짜 모델 날짜를 변환합니다 : 당신이 열 스키마를 MongoDB의 경우 간단하게 할 수있는

답변

0

는 날짜입니다.

"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"과 같은 날짜 모델을 Talend에서 스키마에서 변경할 수 있습니다.

+0

은 MM/dd/yyyy이어야합니다. y –

+0

예 감사합니다. –

+0

오류가 발생하여 위의 오류 정보가 추가되었습니다. – user3114967

0

이것은 기본 데이터 형식을 이해하지 않고 데이터를 읽는 중 자주 범하는 실수입니다. https://www.tobiasmaasland.de/2017/07/20/using-date-in-talend-etl-jobs/

을하지만 나를 조금 설명하자

나는 특히 Talend 이것에 대해 블로그에 있습니다.

때때로 Excel은 셀 유형이 String으로 설정되었다고 생각할 수도 있지만 셀의 데이터를 변환하려고합니다. Insted는 Date로 설정됩니다. 따라서 변환이 필요하지 않으며 형식을 입력 구성 요소에서 날짜로 지정해야합니다.

문자열인데 오류가 발생하면 문자열의 구조가 모든 곳에서 동일하지 않거나 일부 셀이 비어 있습니다 (null). 따라서 운이 좋을 수도 있습니다.

TalendDate.parseDate("MM/dd/yyyy", (row1.ClosingDate == null), "01/01/1970", row1.ClosingDate) 

방금 ​​null이 포함 된 자리 표시 자 날짜를 사용하려고한다고 가정했습니다.

이것은 모든 셀의 데이터 유형이 같고 모든 데이터가 올바르게 형식화되어있는 경우 셀의 실제 데이터 유형에 크게 의존합니다.

내 블로그 게시물에있는 사실 중 하나를 정리하면 다음과 같습니다. 날짜에 문자열을 사용하지 마십시오. Excel에서 날짜로 날짜를 사용하십시오. 그것은 모든 것을 더 쉽게 만듭니다.