How does Spark structured streaming work?

In Spark structured streaming, each incoming row is treated as a small set of rows of a table, and it keeps on appending rows to tables that fall in the same bucket. In this way, it creates a DataFrame on such tables, and Spark structured streaming supports all DataFrame operations, except window and join operations in some use cases.