2016-08-17 6 views
0

내 Kafka Connect Sink 작업의 put() 메서드가 트리거되는 간격을 제어 할 수 있습니까? 이 점에서 Kafka Connect 프레임 워크의 예상되는 동작은 무엇입니까? 이상적으로, 예를 들어, "X 개의 새 레코드/Y 개의 새 바이트가 없거나 마지막 호출 이후에 경과 한 시간이 Z 밀리 초가 아니면 저에게 전화하지 마십시오." 이로 인해 잠재적으로 싱크 작업 내의 일괄 처리 로직이 간단해질 수 있습니다 (documentation, "은 많은 경우 내부 버퍼링이 유용하므로 전체 레코드 일괄 처리를 한 번에 보낼 수 있으므로 이벤트를 다운 스트림 데이터 저장소에 삽입하는 오버 헤드가 줄어 듭니다. deliverMessagesWorkerSinkTask에 호출 될 때).Kafka Connect 싱크 작업에서 put()이 얼마나 자주 트리거됩니까?

답변

0

오늘하는 SinkTask에서 넣어 만이라고합니다. 좋은 소식은 deliverMessages 일이 유일한 시간이 poll 내에 있는지 그래서 당신은 당신이 새로운 폴링 빈도를 일부 제어해야 기록에 의해 overriding consumer properties

당신이 내부 버퍼링을하고 싶다면 요 HDFSConnector가 어떻게 이것을 처리하고 있는지 알 수 있습니다. implementation of SinkTask. 그러나 Connect는 즉시 설문 조사에서 반환 한 모든 레코드를 저장합니다.

이러한 모든 것들이 다운 스트림 시스템에 도달하기 전에 배치 메시지를 실제로 찾고 있다면 flush()이 호출되는 빈도를 제어하는 ​​offset.flush.interval.ms and offset.flush.timeout.ms을 조사하는 것이 좋습니다.