我使用胶元存储为Hive,在此之前,我是使用Hive元存储。
在hive metastore上,我们有这样的分区,数据在s3上,具有相同的文件夹结构:
yr_no=__HIVE_DEFAULT_PARTITION__/mth_no=__HIVE_DEFAULT_PARTITION__/uniq_id=1234
在hive和glue元存储模式中,yr\u no和mth\u no列被定义为int
不过,在配置单元中,我可以毫无疑问地运行以下查询:
select s3_url from table where (rec_dt in ('2020-03-16')) and yr_no=2020;
即使某些分区的yr\u数有值
配置单元\默认\分区
在使用相同查询的glue中,我得到以下错误,看起来它将值视为string而不是int,因此失败。
Error in query: org.apache.hadoop.hive.metastore.api.InvalidObjectException:
For input string: "__HIVE_D" is not an integer.
(Service: AWSGlue; Status Code: 400; Error Code: InvalidInputException;
Request ID: 586ff8e1-8f67-4593-940d-9f992a073be3);
不知道为什么它在hive metastore中工作,但在glue metastore中不工作。
暂无答案!
目前还没有任何答案,快来回答吧!