如何在Hive中实现max(count(field_1))?

时间:2013-12-19 16:38:13

标签: hiveql

我在Hive中运行了一个查询,结果得到了2列(年份和计数)。 1900 2 1901年5月 1902 7 1903年3 1904 5

我需要找到最大数量并返回年份和计数; 期待答案1902 7

我在SQL中运行了一个嵌套查询,但它给了我一个解析错误,说“..无法识别输入'select'in表达式规范..”

任何人都可以告诉我吗?感谢。

的问候, 拉胡

1 个答案:

答案 0 :(得分:1)

使用collect_max UDF返回带有Brickhouse(http://github.com/klout/brickhouse)的最大值的键和值

select collect_max( year, count , 1 ) 
  from mytable;

或者如果你想要单独的列

select array_index( map_keys( map_max ), 0 ) as max_year,
       array_index( map_values( map_max ), 0 ) as max_value
from 
  ( select collect_max( year, count, 1 ) from mytable );