配置单元的时间戳数据类型支持的范围是什么

ivqmmu1c  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(323)

hadoop发行版:HDP2.4.2
配置单元版本:1.2.1
我有张兽人的table tbl1timestamp 列。我插入了这些值:

insert into tbl1 values ('0001-01-01 00:00:20.0');
insert into tbl1 values ('9999-01-01 00:00:20.0');

我创造了另一张兽人的table tbl2timestamp 列。然后我试着:

insert into tbl2 select * from tbl1;

数据输入 tbl2 已损坏:

1754-08-28 22:44:01.128654848
1815-03-31 05:56:28.066277376

是否使用超出范围的值?
时间戳有什么特定的范围吗?
这个问题只适用于 ORC 文件格式。对于其他文件格式,如 textfile , avro , parquet 等等,工作正常。

2o7dmzc5

2o7dmzc51#

在我的案例中启用了配置单元矢量化。

hive.vectorized.execution.enabled = true;

这是由于矢量化执行导致的问题。
它固定在1.3.0、2.0.1、2.1.0中
查看hive-9862和wiki以了解更多详细信息。
要使用矢量化查询执行,必须以orc格式存储数据。这就是为什么错误只以orc文件格式出现。

相关问题