huaheh opened a new issue, #9188:
URL: https://github.com/apache/pinot/issues/9188

   In a partial upsert table, we can define an upsert strategy for each column, 
for example, OVERWRITE. This leads to the column's value always being 
overwritten by the next incoming event. The suggestion is to have control over 
merging the existing column value and the field value of the incoming event. 
   
   For example, a table has two columns, col1 and col2, both having OVERWRITE 
upsert strategy. With incoming event {"f1":"v1",  "f2": null}, the expected 
transformation is like
   
   ```
         {
           "columnName": "col1",
           "transformFunction": "OVERWRITE_IF(f1 != null,  f1, col1)"
         },
         {
           "columnName": "col2",
           "transformFunction": "OVERWRITE_IF(f2 != null,  f2, col2)"
         },
   ```
   
   This way col1 will be updated with v1 while col2 will remain its old value. 
This flexibility allows us to ingest some fields of an event and drop the other 
fields, and not have to drop the whole event if we merely don't want some 
columns to be overwritten.
   


-- 
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: commits-unsubscr...@pinot.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to