[ 
https://issues.apache.org/jira/browse/HUDI-9683?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jonathan Vexler updated HUDI-9683:
----------------------------------
    Status: In Progress  (was: Open)

> Fix spark rename columns for HoodieInternalRowUtils.genUnsafeRowWriter
> ----------------------------------------------------------------------
>
>                 Key: HUDI-9683
>                 URL: https://issues.apache.org/jira/browse/HUDI-9683
>             Project: Apache Hudi
>          Issue Type: Bug
>          Components: spark
>            Reporter: Jonathan Vexler
>            Assignee: Jonathan Vexler
>            Priority: Critical
>              Labels: pull-request-available
>             Fix For: 1.1.0
>
>
> {code:java}
> val (fieldWriter, prevFieldPos): (RowFieldUpdater, Int) =
>   prevStructType.getFieldIndex(newField.name) match {
>     case Some(prevFieldPos) =>
>       val prevField = prevStructType(prevFieldPos)
>       (newWriterRenaming(prevField.dataType, newField.dataType, 
> renamedColumnsMap, fieldNamesStack), prevFieldPos)
>     case None =>
>       val newFieldQualifiedName = createFullName(fieldNamesStack)
>       val prevFieldName: String = lookupRenamedField(newFieldQualifiedName, 
> renamedColumnsMap)
>       // Handle rename
>       prevStructType.getFieldIndex(prevFieldName) match {
>         case Some(prevFieldPos) =>
>           val prevField = prevStructType.fields(prevFieldPos)
>           (newWriterRenaming(prevField.dataType, newField.dataType, 
> renamedColumnsMap, fieldNamesStack), prevFieldPos)
>         case None =>
>           val updater: RowFieldUpdater = (fieldUpdater, ordinal, _) => 
> fieldUpdater.setNullAt(ordinal)
>           (updater, -1)
>       }
>   } {code}
> We only look up the rename columns if the column is not found. If a new 
> column has been renamed to the name of an old column then we will not respect 
> the rename



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to