Uploaded image for project: 'Apache Hudi'
  1. Apache Hudi
  2. HUDI-7498 Fix schema for HoodieTimestampAwareParquetInputFormat
  3. HUDI-7554

HiveAvroSerializer breaks compatibility between Hive2 an Hive3

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • 0.16.0
    • None
    • None

    Description

      java.lang.NoSuchMethodError: 'java.sql.Timestamp org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableTimestampObjectInspector.getPrimitiveJavaObject(java.lang.Object)'
          at org.apache.hudi.hadoop.utils.HiveAvroSerializer.serializePrimitive(HiveAvroSerializer.java:305)
          at org.apache.hudi.hadoop.utils.HiveAvroSerializer.serialize(HiveAvroSerializer.java:212)
          at org.apache.hudi.hadoop.utils.HiveAvroSerializer.setUpRecordFieldFromWritable(HiveAvroSerializer.java:121)
          at org.apache.hudi.hadoop.utils.HiveAvroSerializer.serialize(HiveAvroSerializer.java:108)
          at org.apache.hudi.hadoop.realtime.RealtimeCompactedRecordReader.convertArrayWritableToHoodieRecord(RealtimeCompactedRecordReader.java:198)
          at org.apache.hudi.hadoop.realtime.RealtimeCompactedRecordReader.mergeRecord(RealtimeCompactedRecordReader.java:183)
          at org.apache.hudi.hadoop.realtime.RealtimeCompactedRecordReader.next(RealtimeCompactedRecordReader.java:123)
          at org.apache.hudi.hadoop.realtime.RealtimeCompactedRecordReader.next(RealtimeCompactedRecordReader.java:53)
          at org.apache.hudi.hadoop.realtime.HoodieRealtimeRecordReader.next(HoodieRealtimeRecordReader.java:86)
          at org.apache.hudi.hadoop.realtime.HoodieRealtimeRecordReader.next(HoodieRealtimeRecordReader.java:36)
          at io.trino.plugin.hive.GenericHiveRecordCursor.advanceNextPosition(GenericHiveRecordCursor.java:221)
          at io.trino.plugin.hive.util.ForwardingRecordCursor.advanceNextPosition(ForwardingRecordCursor.java:46)
          at io.trino.spi.connector.RecordPageSource.getNextPage(RecordPageSource.java:88) 

      Inspected the Hive code for `WritableTimestampObjectInspector` class and the return type for one of the methods changed from `java.sql.Timestamp` to `org.apache.hadoop.hive.common.type.Timestamp` in Hive 3.1. While Hudi code is still running with Hive 2.3.

      Attachments

        Activity

          People

            Unassigned Unassigned
            codope Sagar Sumit
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: