我运行类似于在蜂巢查询:“<EOF>”
SELECT *
FROM (SELECT a
FROM b
WHERE
sex = 'M'
AND degree = 'Bs'
AND age = 15
AND name LIKE 'L%'
);
的错误是:
cannot recognize input near '<EOF>' '<EOF>' '<EOF>' in subquery source
我运行类似于在蜂巢查询:“<EOF>”
SELECT *
FROM (SELECT a
FROM b
WHERE
sex = 'M'
AND degree = 'Bs'
AND age = 15
AND name LIKE 'L%'
);
的错误是:
cannot recognize input near '<EOF>' '<EOF>' '<EOF>' in subquery source
增加对您的子查询表的别名是必要的蜂巢。下面我用't1'作为别名:
SELECT *
FROM (SELECT a
FROM b
WHERE
sex = 'M'
AND degree = 'Bs'
AND age = 15
AND name LIKE 'L%'
) t1 ;
所有的反对票都是不合理的。 Hive通常不会产生正确的错误,并会在您身上抛出懒惰的“EOF”。在这种情况下,您只需为您的子查询指定表别名。 SELECT * FROM (.....) tbl_alias
我想一些蜂巢粉丝只是对任何提到蜂巢bug –
您是否尝试删除'AND'条件以查看哪个给您的错误? –
“类似”并没有帮助,因为它看起来像一个语法问题 –
杜杜马尔科维茨:通过simiar,我的意思是我只是将表名改为a和b以及列名来老化,否则它是完全一样的。 – Cyrus