This is an automated email from the ASF dual-hosted git repository.
healchow pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-inlong.git
The following commit(s) were added to refs/heads/master by this push:
new d7697db [INLONG-3483][Sort] Fix bug of wrong date data in ORC
formatted output (#3484)
d7697db is described below
commit d7697db6eba5a6983149db0b2cef23560fa7cb6a
Author: Kevin Wen <[email protected]>
AuthorDate: Thu Mar 31 09:54:08 2022 +0800
[INLONG-3483][Sort] Fix bug of wrong date data in ORC formatted output
(#3484)
---
.../inlong/sort/flink/hive/formats/orc/OrcBulkWriterUtil.java | 1 +
.../apache/inlong/sort/flink/hive/formats/orc/RowVectorizer.java | 7 ++++---
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git
a/inlong-sort/sort-connectors/src/main/java/org/apache/inlong/sort/flink/hive/formats/orc/OrcBulkWriterUtil.java
b/inlong-sort/sort-connectors/src/main/java/org/apache/inlong/sort/flink/hive/formats/orc/OrcBulkWriterUtil.java
index cf90d54..3d1fc8f 100644
---
a/inlong-sort/sort-connectors/src/main/java/org/apache/inlong/sort/flink/hive/formats/orc/OrcBulkWriterUtil.java
+++
b/inlong-sort/sort-connectors/src/main/java/org/apache/inlong/sort/flink/hive/formats/orc/OrcBulkWriterUtil.java
@@ -61,6 +61,7 @@ public class OrcBulkWriterUtil {
case SMALLINT:
return TypeDescription.createShort();
case INTEGER:
+ case TIME_WITHOUT_TIME_ZONE:
return TypeDescription.createInt();
case BIGINT:
return TypeDescription.createLong();
diff --git
a/inlong-sort/sort-connectors/src/main/java/org/apache/inlong/sort/flink/hive/formats/orc/RowVectorizer.java
b/inlong-sort/sort-connectors/src/main/java/org/apache/inlong/sort/flink/hive/formats/orc/RowVectorizer.java
index 710855c..534bb0e 100644
---
a/inlong-sort/sort-connectors/src/main/java/org/apache/inlong/sort/flink/hive/formats/orc/RowVectorizer.java
+++
b/inlong-sort/sort-connectors/src/main/java/org/apache/inlong/sort/flink/hive/formats/orc/RowVectorizer.java
@@ -21,9 +21,9 @@ package org.apache.inlong.sort.flink.hive.formats.orc;
import java.io.Serializable;
import java.math.BigDecimal;
import java.nio.charset.StandardCharsets;
+import java.sql.Date;
import java.sql.Time;
import java.sql.Timestamp;
-import java.util.Date;
import java.util.Map;
import
org.apache.flink.shaded.guava18.com.google.common.annotations.VisibleForTesting;
@@ -36,6 +36,7 @@ import org.apache.orc.TypeDescription;
import org.apache.orc.storage.common.type.HiveDecimal;
import org.apache.orc.storage.ql.exec.vector.BytesColumnVector;
import org.apache.orc.storage.ql.exec.vector.ColumnVector;
+import org.apache.orc.storage.ql.exec.vector.DateColumnVector;
import org.apache.orc.storage.ql.exec.vector.DecimalColumnVector;
import org.apache.orc.storage.ql.exec.vector.DoubleColumnVector;
import org.apache.orc.storage.ql.exec.vector.ListColumnVector;
@@ -123,8 +124,8 @@ public class RowVectorizer implements Serializable {
break;
}
case DATE: {
- LongColumnVector vector = (LongColumnVector) column;
- vector.vector[rowId] = ((Date) field).getTime();
+ DateColumnVector vector = (DateColumnVector) column;
+ vector.vector[rowId] = ((Date)
field).toLocalDate().toEpochDay();
break;
}
case INTEGER: {