Чтение этой статьи выясняется, что Spark Streaming предоставляет функцию Создание закладок :
Когда вы запускаете пакетное задание, которое выполняет инкрементные обновления,Как правило, вам приходится разбираться, какие данные новые, что вы должны обрабатывать, а что нет.Структурированный поток уже все это делает для вас.При написании общих потоковых приложений вы должны заботиться только о бизнес-логике, а не о низкоуровневой бухгалтерии.
Что здорово!И похоже, что он работает с тривиальным паркетом [чтение / запись в]:
df = spark\
.readStream\
.schema(schema)\
.option("maxFilesPerTrigger", 1)\
.parquet("my/input/path")
df.writeStream\
.trigger(processingTime='1 seconds')\
.format("parquet")\
.option("path", "my/output/path")\
.option("checkpointLocation", "my/checkPoint/path")\
.outputMode("append")\
.start().awaitTermination()
Теперь мне интересно, есть ли какой-либо другой вариант управления этой функцией закладок.
Например, я бы хотел сбросить закладки и заново обработать весь мой источник входных данных, как мне этого добиться?