From f57ce9c79d2565bfdd1776187967fceacb4138f9 Mon Sep 17 00:00:00 2001 From: xiarixiaoyao Date: Mon, 8 Mar 2021 10:46:10 +0800 Subject: [PATCH] [HUDI-1662]Failed to query real-time view use hive/spark-sql when hudi mor table contains date type --- .../hudi/hadoop/utils/HoodieRealtimeRecordReaderUtils.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/HoodieRealtimeRecordReaderUtils.java b/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/HoodieRealtimeRecordReaderUtils.java index b10e778f38c17..0aa74ef154334 100644 --- a/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/HoodieRealtimeRecordReaderUtils.java +++ b/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/HoodieRealtimeRecordReaderUtils.java @@ -33,6 +33,7 @@ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.hive.serde2.io.DoubleWritable; +import org.apache.hadoop.hive.serde2.io.DateWritable; import org.apache.hadoop.hive.serde2.io.HiveDecimalWritable; import org.apache.hadoop.hive.serde2.typeinfo.DecimalTypeInfo; import org.apache.hadoop.hive.serde2.typeinfo.HiveDecimalUtils; @@ -166,6 +167,9 @@ public static Writable avroToArrayWritable(Object value, Schema schema) { case BYTES: return new BytesWritable(((ByteBuffer)value).array()); case INT: + if (schema.getLogicalType() != null && schema.getLogicalType().getName().equals("date")) { + return new DateWritable((Integer) value); + } return new IntWritable((Integer) value); case LONG: return new LongWritable((Long) value);