小编jef*_*eff的帖子

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

我在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
Run Code Online (Sandbox Code Playgroud)

我已将查询的分区值提供为201501,但仍然出现错误"

 Error while compiling statement: FAILED: SemanticException [Error 10041]: No partition predicate found for Alias "inv" Table "pos_inv"
Run Code Online (Sandbox Code Playgroud)

(schema)分区,yyyymm是int类型,actvydt是日期存储为字符串类型.

hadoop hive cloudera hue hiveql

9
推荐指数
1
解决办法
2万
查看次数

标签 统计

cloudera ×1

hadoop ×1

hive ×1

hiveql ×1

hue ×1