hive当在同一行中使用标量数据时,在计算函数组(max,min…)时如何定义组?

qnyhuwrf  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(296)

在hive中有这样一句话:

SELECT MIN('FOO') AS id, 
       MIN('Foo') as name;

将返回如下结果集:

+------------+---------+
|    id     |  name    |
+------------+---------+
|    Foo    |   Foo    |
+------------+---------+

尽管我希望:

FOO, Foo

(max('foo')是一组1上的最大值,max('foo')是另一组1上的最大值)。
使用多个函数或将“”附加到其中一个值会产生预期的结果。

SELECT MIN('FOO') AS id, 
       Max('Foo') as name;

SELECT MIN('FOO') AS id, 
       MIN(concat('Foo', '')) as name;

这是一个bug还是配置单元中的分组在行级别对行中具有相同函数大小写的所有列都起作用。

fkvaft9z

fkvaft9z1#

尝试设置 hive.cache.expr.evaluation=false 这可能与Hive中的虫子有关。

相关问题