내 Kafka Connect Sink 작업의 put()
메서드가 트리거되는 간격을 제어 할 수 있습니까? 이 점에서 Kafka Connect 프레임 워크의 예상되는 동작은 무엇입니까? 이상적으로, 예를 들어, "X 개의 새 레코드/Y 개의 새 바이트가 없거나 마지막 호출 이후에 경과 한 시간이 Z 밀리 초가 아니면 저에게 전화하지 마십시오." 이로 인해 잠재적으로 싱크 작업 내의 일괄 처리 로직이 간단해질 수 있습니다 (documentation, "은 많은 경우 내부 버퍼링이 유용하므로 전체 레코드 일괄 처리를 한 번에 보낼 수 있으므로 이벤트를 다운 스트림 데이터 저장소에 삽입하는 오버 헤드가 줄어 듭니다. deliverMessages가 WorkerSinkTask
에 호출 될 때).Kafka Connect 싱크 작업에서 put()이 얼마나 자주 트리거됩니까?
0
A
답변
0
오늘하는 SinkTask
에서 넣어 만이라고합니다. 좋은 소식은 deliverMessages
일이 유일한 시간이 poll 내에 있는지 그래서 당신은 당신이 새로운 폴링 빈도를 일부 제어해야 기록에 의해 overriding consumer properties
당신이 내부 버퍼링을하고 싶다면 요 HDFSConnector가 어떻게 이것을 처리하고 있는지 알 수 있습니다. implementation of SinkTask. 그러나 Connect는 즉시 설문 조사에서 반환 한 모든 레코드를 저장합니다.
이러한 모든 것들이 다운 스트림 시스템에 도달하기 전에 배치 메시지를 실제로 찾고 있다면 flush()
이 호출되는 빈도를 제어하는 offset.flush.interval.ms and offset.flush.timeout.ms을 조사하는 것이 좋습니다.