我正在使用spark结构化流来从s3位置读取传入数据,所以我在这里有2个问题。
问题1)
我启动了我的结构化流媒体管道,它读取s3中的传入文件。我提供了传入的json数据的模式
col A,col B,col C
我执行一些转换并将数据写入具有以下架构的实木复合地板格式的另一个s3位置
col A,col A',col B,col B',col C,col C'
现在说几天后我的传入流数据发生了变化,因此我需要将传入的模式更改为
案例1)col A,col B,col C,col D
案例2)col A,col B
然后在我进行转换之后,我需要在镶木地板中使用我的新转换模式
案例1)col A,col A',col B,col B',col C,col C',col D,col D'
案例2)col A,col A',col B,col B'
考虑到流输出被写入镶木地板文件
,这是可能的问题2)
Spark结构化流使用checkpointLocation,所以我们可以用任何方式重新处理部分/全部预先存储的数据。
答案 0 :(得分:-1)
回答你的问题2
只需删除checkPointing location&的目录即可。重启过程。