2016-10-03 2 views
1

Flink에서 오류 처리 기능이 내장되어 있는지 궁금합니다. 2가지 경우가있을 수 있습니다 :apache flink - 올바른 오류 처리 방법

  1. (내 경우) 카프카에서 현재 메시지가 유효하지, 다음 중 하나

  2. 캐치되지 않는 예외에 계속 - 내가 본 것을에서 완전히 스트림 집계를 중지 할 수 있습니다 .

ho 이러한 2 가지 경우를 처리 할 수 ​​있습니까?

답변

3

1) 이것은 평평한 맵을 사용하여 관용적으로 수행됩니다. 메시지가 유효하면 유효한 요소가 포함 된 목록으로 이동합니다 (동일한 단계에서 이미 처리되었을 수 있음). 유효하지 않은 경우 빈 목록을 반환하면 해당 단계에서 요소가 생성되지 않습니다. 스칼라 코드를 제공 할 수는 있지만 Java API에 익숙하지 않아 당신을 쫓아 버리지 않으려 고합니다. flatMap 호출을 확인하십시오.

2) 이는 예외의 유형에 따라 다릅니다. 코드가 사용자의 코드에 의해 유발 된 경우이를 잡아서 운영자 내부에서 처리하거나 단순히 기록하고 계속 진행하십시오. 특정 사례에 대한 추가 정보가 없으면 이것이 내가 아는 최고이지만 다시 스칼라에서 오면서 나는 런타임 예외를 경험하지 못했다.

+0

감사합니다. 약 .1. 내 모으기 기능이 터플을 얻는다. null로 호출 할 수 있습니까? 작동할까요? 아니면'collect '를 전혀 호출하지 않는 것이 좋을까요? –

+0

예, 죄송합니다. 내 대답은 Scala API에 초점을 맞추었지만 Java API의 Collector와는 조금 다릅니다. 네가 '수집'하는 것을 피할 수있다. – Chobeat

관련 문제