我正在研究以拼花格式从不同来源将数据提取到Data Lake(HDFS)中的应用程序。
我们有多个批处理作业,并且还添加了一些流作业。它是用pyspark编写的。
源结构经常发生变化,因此在读取数据帧并在加载之前与目标进行比较时,我们会推断模式,如果有任何不同,我们将发送通知。
我计划在结构化流工作中也做同样的事情。我们还通过设置属性SET spark.sql.streaming.schemaInference=true
来推断流作业中的架构
我能够在流作业开始时将源模式与目标模式进行比较,但是流作业是连续的作业,因此我无法在流期间捕获模式更改。
有什么方法可以在流式传输期间捕获架构更改?