我们要使用Spark结构化流来处理数据,为了符合GDPR,需要在一定时间后将其删除。在我们的程序中,我们有两个输入流数据帧,它们以流-流联接的方式联接。然后将生成的流数据帧写入输出文件。
要符合GDPR,我们需要在一定时间后删除输入流和输出流中的数据。是否可以删除Spark Streaming Dataframe中超过特定时间戳的数据?
我们已经研究了Spark中的水印技术,它将停止将时间戳早于水印的新数据写入输出流。但是,输入或输出流中已经存在的时间戳早于水印的数据不会被删除。有没有办法做到这一点?
例如,对于Apache Flink,我发现了生存时间(TTL)功能,该功能可启用应用程序状态清除:https://flink.apache.org/2019/05/19/state-ttl.html Spark有类似的东西吗?