pengzhiwei created HUDI-2033:
--------------------------------
Summary: ClassCastException Throw When PreCombineField Is String
Type
Key: HUDI-2033
URL: https://issues.apache.org/jira/browse/HUDI-2033
Project: Apache Hudi
Issue Type: Bug
Components: Spark Integration
Reporter: pengzhiwei
Fix For: 0.9.0
When the preCombineField is string type:
{code:java}
create table h0 (
id int,
name string,
c string
) using hudi
options(
primaryKey = 'id',
preCombineField = 'c'
);
{code}
the follow exception throw out when execute merge into statement.
{code:java}
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to
org.apache.avro.util.Utf8Caused by: java.lang.ClassCastException:
java.lang.String cannot be cast to org.apache.avro.util.Utf8 at
org.apache.avro.util.Utf8.compareTo(Utf8.java:28) at
org.apache.hudi.common.model.DefaultHoodieRecordPayload.needUpdatingPersistedRecord(DefaultHoodieRecordPayload.java:105)
at
org.apache.spark.sql.hudi.command.payload.ExpressionPayload.protected$needUpdatingPersistedRecord(ExpressionPayload.scala:98)
at
org.apache.spark.sql.hudi.command.payload.ExpressionPayload$$anonfun$combineAndGetUpdateValue$4.apply(ExpressionPayload.scala:98)
at
org.apache.spark.sql.hudi.command.payload.ExpressionPayload$$anonfun$combineAndGetUpdateValue$4.apply(ExpressionPayload.scala:88)
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)