gpt4 book ai didi

hadoop - 即使查询中存在分区谓词,也找不到 Alias 的分区谓词

转载 作者:可可西里 更新时间:2023-11-01 14:14:30 25 4
gpt4 key购买 nike

我在 hdfs 中有一个表 pos.pos_inv,它按 yyyymm 分区。以下是查询:

select DATE_ADD(to_date(from_unixtime(unix_timestamp(Inv.actvydt, 'MM/dd/yyyy'))),5), 
to_date(from_unixtime(unix_timestamp(Inv.actvydt, 'MM/dd/yyyy'))),yyyymm
from pos.pos_inv inv
INNER JOIN pos.POSActvyBrdg Brdg ON Brdg.EIS_POSActvyBrdgId = Inv.EIS_POSActvyBrdgId
where to_date(from_unixtime(unix_timestamp(Inv.nrmlzdwkenddt, 'MM/dd/yyyy')))
BETWEEN DATE_SUB(to_date(from_unixtime(unix_timestamp(Inv.actvydt, 'MM/dd/yyyy'))),6)
and DATE_ADD(to_date(from_unixtime(unix_timestamp(Inv.actvydt, 'MM/dd/yyyy'))),6)
and inv.yyyymm=201501

我为查询提供的分区值为 201501,但我仍然收到错误“

 Error while compiling statement: FAILED: SemanticException [Error 10041]: No partition predicate found for Alias "inv" Table "pos_inv"

(schema)分区,yyyymm是int类型,actvydt是date存储为string类型。

最佳答案

发生这种情况是因为配置单元设置为严格模式。这允许分区表访问 hdfs 中的相应分区/文件夹。

  set hive.mapred.mode=unstrict;  it will work 

关于hadoop - 即使查询中存在分区谓词,也找不到 Alias 的分区谓词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39049620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com