AnishMahto opened a new pull request, #56016:
URL: https://github.com/apache/spark/pull/56016

   Approved AutoCDC SPIP: 
https://lists.apache.org/thread/j6sj9wo9odgdpgzlxtvhoy7szs0jplf7
   
   --------
   
   This is a stacked PR. Review incremental diff here: 
https://github.com/AnishMahto/spark/compare/SPARK-56927-SCD1-merge-microbatch-onto-target...SPARK-56953-SCD1-foreachbatch-callback
   
   --------
   
   **Preamble:**
   
   The SCD type 1 flow is a foreachBatch streaming query on an input 
change-data-feed, and is responsible for reconciling the incoming change data 
onto some target table that follows SCD1 replication semantics.
   
   SCD1 flows also maintain an "auxiliary" table to keep track of 
early-arriving out-of-order received events state. Each microbatch will need to 
reconcile against this auxiliary table as well, and update the auxiliary 
table's state appropriately for future microbatches.
   
   **foreachBatch Callback:**
   
   Implementation of the actual callback that will be passed into the 
foreachBatch streaming query for SCD1 flows.
   
   The callback orchestrates microbatch validation and calling all of the 
`Scd1BatchProcessor` helpers to execute the complete reconciliation of a 
change-data-feed microbatch onto the auxiliary and target tables.
   
   Introduce Scd1ForeachBatchExecSuite to exercise E2E business logic unit 
tests. In the future when we hook this up to an actual flow execution, we will 
introduce E2E _integration_ tests that can additionally verify schema 
evolution, interaction with other dataflow graph entities, etc.
   
   Additionally refactor some test helper functions into a shared 
`AutoCdcCatalogExecutionTestBase`.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to