контрольно-пропускной пункт на заказ - PullRequest
0 голосов
/ 02 мая 2020

Создайте собственный приемник потоковой передачи искры для Mon go Oplog. Но борясь с контрольными точками.

Использовал следующее в качестве начала: spark-streaming_2.11-2.4.4-sources.jar! /Org/apache/spark/streaming/dstream/SocketInputDStream.scala

и используя:

store(docs)

Где docs - массив объектов класса case

Я мог бы запустить другой асин * c поток в получателе в пределах контрольной точки, но это не гарантирует хотя бы раз семантику. Я хотел бы проверить контрольную точку после завершения операции. Я мог бы сохранить логику контрольных точек c в пределах receriverStream.foreachRdd, но мне нужно было выполнить запрос min / max, чтобы получить смещение. Попытка избежать запуска дополнительного запроса.

Так что, если мы сможем отправить некоторые метаданные в блок rdd и получить их в foreachRdd, это поможет. Или, если в приемнике есть обратный вызов для просмотра обработанных блоков, тогда можно использовать этот

...