Apache spark Spark结构化流媒体中从中间读取现有多级分区文件数据的问题

Apache spark Spark结构化流媒体中从中间读取现有多级分区文件数据的问题,apache-spark,spark-structured-streaming,Apache Spark,Spark Structured Streaming,我正在使用现有的多层分区拼花地板文件作为源进行结构化spark流。我在使用它时有以下问题 启动spark流作业以从特定分区读取数据,而不是从头开始 假设我们观察到分区年=2018/月=10/小时=10存在数据质量问题。现在假设我已经通过替换正确的文件更正了数据 现在的问题是如何从今天开始重新处理数据,而不是从头开始?因为在结构化流媒体中,让我们假设我使用文件流作为源,它将加载所有我想忽略的文件。在这里,我还需要删除我的检查点目录,因为它的偏移量为date 假设我们观察到分区年=2018/月=10

我正在使用现有的多层分区拼花地板文件作为源进行结构化spark流。我在使用它时有以下问题

启动spark流作业以从特定分区读取数据,而不是从头开始

假设我们观察到分区年=2018/月=10/小时=10存在数据质量问题。现在假设我已经通过替换正确的文件更正了数据

现在的问题是如何从今天开始重新处理数据,而不是从头开始?因为在结构化流媒体中,让我们假设我使用文件流作为源,它将加载所有我想忽略的文件。在这里,我还需要删除我的检查点目录,因为它的偏移量为date

假设我们观察到分区年=2018/月=10/小时=10存在数据质量问题。那么,如何从今天开始重新处理数据,而不是从头开始

我认为在Spark结构化流媒体中不可能(但愿我弄错了)

因为我们讨论的是流式查询,所以您必须倒带“流”。实现它的唯一方法(我能想到)是重新上传数据(不知道怎么做),或者简单地处理将“删除”分区先前版本的数据
year=2018/month=10/hour=10
,然后上传新的更正版本


问题是如何通知拼花地板数据源,已经处理的任何内容都应该从结果中“排除”(可能已发送到外部源进行进一步处理)。

嗨,Jacek,是的,我认为你说的是对的。我刚刚纠正了我的问题,请你回答好吗。假设我现在设法更正了数据,下一个问题是只重新处理已更正的文件,同时继续以文件为源在spark结构化流媒体中处理新文件。