[feature-#1334][hdfs-connector] fix orc timestamp column can't read by liumengkai · Pull Request #1383 · DTStack/chunjun
Expand Up
@@ -222,11 +222,18 @@ protected ISerializationConverter<Object[]> createExternalConverter(String type)
case "CHAR":
return (rowData, index, data) -> data[index] = rowData.getString(index).toString();
case "TIMESTAMP":
return (rowData, index, data) ->
data[index] = rowData.getTimestamp(index, 6).toTimestamp();
return (rowData, index, data) -> {
Timestamp ts = rowData.getTimestamp(index, 6).toTimestamp();
int nanos = ts.getNanos();
data[index] =
org.apache.hadoop.hive.common.type.Timestamp.ofEpochMilli(
ts.getTime(), nanos);
};
case "DATE":
return (rowData, index, data) ->
data[index] = new Date(rowData.getTimestamp(index, 6).getMillisecond());
data[index] =
org.apache.hadoop.hive.common.type.Date.ofEpochMilli(
rowData.getTimestamp(index, 6).getMillisecond());
case "BINARY":
return (rowData, index, data) ->
data[index] = new BytesWritable(rowData.getBinary(index));
Expand Down