2017-01-23 8 views
1

내 입력 Nifi에서 시간을 비교할 수 있습니까?

1,23.01.2016 09:02:21,Mega,201 
2,02.01.2016 10:02:23,Hema,202 

지금 내가 2 열 [ "02.01.2016 10:02:23"]를 가져온 다음 (밀리 초)로 현재 날짜 _ 시간과 비교 할 필요가 같은 아래. 시간과 dateTime에 포함되어 있습니다.

그 후 두 번째 열이 지난 72 시간 사이 인 경우 SQL Server에 삽입하십시오.

현재 날짜 시간을 갖는 데이터의 시간을 어떻게 비교할 수 있습니까?

답변

3
귀하의 데이터는 아브 당신이 아브 형식으로 콘텐츠를 변환 할 수 또는 RouteOnContent 프로세서와 정규식을 사용하여 파일의 날짜 열을 추출하려고 시도하고 변환 할 수 있도록 CSV 형식으로 나타납니다

JSON으로 변환하고 파일을 분할하여 dateTime을 속성으로 개별적으로 추출 할 수 있습니다.

는 것 입력으로 데이터를 사용 :

  • InferAvroSchema
  • ConvertAvroToJSON
  • SplitJSON
  • EvaluateJSONPath ((유추 된 스키마를 사용하여)
  • ConvertCSVToAvro (레이아웃 위의 표준 가정) dateTime 속성을 꺼내 속성으로 설정)
  • RouteOnAttribute (d 당신이 원하는 시스템 날짜)

시스템 날짜 ateTime 속성 - 72시간을 사용하여 프로그래밍 방식으로 계산 될 수있다

${now():toNumber():minus(259200000):format('dd.mm.yyyy hh:mm:ss')} 
+2

귀하의 포괄적 인 옵션은 정말 좋은; 이전의 경우 RouteText를 의미합니까? 'RouteOnContent'는 전체 플로우 파일의 사본을 정규 표현식이 일치하는 관계에 보내고,'RouteText'는 각 라인을 개별적으로 평가합니다. – Andy

+0

예, 전화하세요. RouteText는 다중 행 내용에 더 적합합니다. – dgolf05

+0

@Andy RouteText가 내 케이스에 잘 작동했습니다. –

관련 문제