我有一个使用 parquet 在 hive 0.131 中创建的外部表
CREATE external table if not exists tbl (
occurred_at timestamp,
user_phone string,
usergk BIGINT,
enabled boolean,
classgk int,
title string,
eta int,
latitude decimal(9,6),
longitude decimal(9,6),
device_type string,
device_os_version string,
event_at_utc timestamp
)
PARTITIONED BY (country string, occured_date date)
STORED AS parquet
LOCATION 's3://XXX'
当我在 HIVE 0.13 中查询时,一切看起来都很好,但是当我尝试在 Presto 中对这个表进行简单查询时(即 select * from tbl limit 10 )我得到了一个错误:
Can not read Parquet column: [HiveColumnHandle{clientId=hive,
name=occured_date, hiveType=date, hiveColumnIndex=-1, partitionKey=true}]
java.lang.RuntimeException: java.lang.IllegalArgumentException:
Can not read Parquet column: [HiveColumnHandle{clientId=hive, name=occured_date, hiveType=date, hiveColumnIndex=-1, partitionKey=true}]
当我写下特定列(即从 tbl 限制 10 中选择发生的_at)时,我得到了像 '14173-10-07 02:42:56' 这样的奇怪结果,而在 hive 中它显示了有意义的结果
它可能与 hive 0.13 使用的镶木地板格式有关吗?