【问题标题】:Hive gives error when trying to find record with min subquery尝试使用 min 子查询查找记录时 Hive 出错
【发布时间】:2018-02-05 17:01:37
【问题描述】:

在蜂巢中,

我正在尝试选择具有最小时间戳的条目,但是它会引发以下错误,不知道是什么原因。

select * from sales where partition_batch_ts = (select max(partition_batch_ts) from sales);

错误

编译语句时出错:FAILED: ParseException line 1:91 cannot identify input near 'select' 'max' '(' in expression specification

【问题讨论】:

    标签: hadoop hive hiveql


    【解决方案1】:

    我认为您需要使用正确的表别名。另外,必须使用IN 而不是=

    SELECT s1.*
    FROM sales s1
    WHERE s1.partition_batch_ts IN
        (SELECT MAX(partition_batch_ts)
         FROM sales s2);
    

    来自 Hive 手册,SUBQUERIES

    从 Hive 0.13 开始,WHERE 支持某些类型的子查询 子句。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-16
      • 1970-01-01
      • 2023-04-03
      • 2018-04-26
      • 1970-01-01
      • 2021-06-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多