You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@inlong.apache.org by he...@apache.org on 2022/03/31 01:54:11 UTC
[incubator-inlong] branch master updated: [INLONG-3483][Sort] Fix bug of wrong date data in ORC formatted output (#3484)
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 <ke...@gmail.com>
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: {