Мы хотим использовать структурированную потоковую передачу Spark для обработки данных, которые необходимо удалить через определенное время, чтобы обеспечить совместимость с GDPR.В нашей программе у нас есть два входных потоковых фрейма данных, которые объединяются в потоковое соединение.Результирующий потоковый кадр данных затем записывается в выходной файл.
Чтобы обеспечить совместимость с GDPR, нам необходимо удалить данные в обоих входных потоках, а также в выходном потоке через некоторое время.Можно ли удалить данные, которые превышают определенную временную отметку внутри кадров потоков данных Spark?
Мы уже рассмотрели водяные знаки в Spark, которые не позволяют новым данным с отметкой времени старше водяного знака записываться в вывод.поток.Однако данные с отметкой времени старше водяного знака, которая уже присутствует во входных или выходных потоках, не удаляются.Есть ли способ достичь этого?
Например, для Apache Flink я обнаружил функцию времени жизни (TTL), которая включает очистку состояния приложения: https://flink.apache.org/2019/05/19/state-ttl.html Есть ли что-то подобное дляСпарк?