Watermarking in Spark structured streaming solves the problem of lateness, that is, data which is coming late as per its event time. Here, we can specify a time window up to which Spark can monitor/consider late-arriving data, so that it can be included along with other relevant data sets while processing using update write mode and a consistent resulting set can be sent.