ggjh-159 commented on issue #12459:
URL: https://github.com/apache/gluten/issues/12459#issuecomment-4921450372

   <img width="1667" height="658" alt="Image" 
src="https://github.com/user-attachments/assets/6acd3d4b-f70f-4f2c-84c9-5d21be5f01a1";
 />
   
   Hi, @lgbo-ustc @zhanglistar @KevinyhZou @Hw-Tiny @Moemenmohamed24. This 
describes the changes in data format following the addition of `RowKind`. The 
`MergedRowVector` differs from the standard `RowVector` by including an extra 
`$row_kind` column at the end, while `ChangelogRowVector` is a new data 
structure defined in Velox that encapsulates the original `RowVector` along 
with the new `$row_kind` column.
   - In **Gluten-Flink**, `MergedRowVector` is used for both input and output, 
and the component handles the conversion to and from `RowData`.
   - **Velox4j** is responsible for converting between `MergedRowVector` and 
`ChangelogRowVector`.
   - On the **Velox** side, the system processes `StreamRecord` objects that 
encapsulate a `ChangelogRowVector`; these records are passed along the operator 
chain, with individual operators selectively processing them based on their 
specific functions.
   - Specifically, within the stateless `Calc` operator, the 
`ChangelogRowVector` must be converted into a `MergedRowVector` for processing 
by the Velox `FilterProject` operator (which performs filtering and 
projection); once the result is obtained, it is re-wrapped as a 
`ChangelogRowVector` for output.
   
   The `RowKind` column is implicitly added to the operator chain, with 
conversion logic implemented in the Input/Output Bridge and Velox4J; the 
execution plan remains unaware of this column's existence.
   
   Do you consider this an appropriate approach for adding `RowKind` column 
support to enable retraction semantics? Or are there other aspects that require 
further discussion?


-- 
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