클라우드 PubSub 구독에서 비롯된 Google Dataflow에서 스트리밍 방식의 무제한 PCollection으로 작업합니다. 우리는이 이벤트를 FireTose로 사용하여 이벤트를 BigTable에 지속적으로 전달합니다. 배달 된 모든 것이 훌륭하게 수행됩니다.클라우드 데이터 흐름 : 워터 마크가 진행될 때의 부작용
문제는 BigTable이 전달되면 하루 동안의 데이터를 읽는 다운 스트림 배치 작업이 있다는 것입니다. 워터 마크가 일 임계 값을 초과하여 진행될 때 마커 행을 bigtable에 쓰는 부작용을 구현하기 위해 창 작업과 트리거링을 활용하여 데이터 흐름에 대부분의 이벤트가 전달되었다고 믿을만한 이유가 있음을 나타냅니다 (우리는 ' 완성도에 대한 확실한 보증이 필요하며 합리적인 보증이 필요함), 다운 스트림 처리가 시작될 수 있습니다.
우리가 시도한 것은 원시 이벤트를 파이프 라인에 싱크 한 다음 다른 싱크로 창에 넣고 the timing information in the pane을 사용하여 워터 마크가 향상되었는지 확인하는 것입니다. 이 접근법의 문제점은 원시 이벤트 자체를 다시 조작한다는 것이고 이벤트 행 작성을 반복하므로 바람직하지 않습니다. 이 쓰기를 방지 할 수 있지만 파이프 라인의 병렬 경로는 창 분할 된 이벤트 스트림에서 계속 작동합니다.
워터 마크에 콜백 (callback-of-sort)을 첨부하여 워터 마크가 진행될 때 단일 작업을 수행 할 수있는 효과적인 방법이 있습니까?