在hadoop配置单元中计数并显示超过给定数值的结果

hkmswyz6  于 2021-05-27  发布在  Hadoop
关注(0)|答案(1)|浏览(319)

我想计算一个Map中类似的值,其中key是hive表列中的值,对应的值是count。而且count比给定的num还多 x .
例如,查询:

SELECT Col1, COUNT(*) FROM Table GROUP BY Col1

结果:

Key1=2
Key2=1

以及给定的num x=2 . 因此,配置单元查询应该返回如下内容:

Key1=2.

解释:

Key1=2 >=2 (ok)
Key2=1 <2  (not ok)
vvppvyoh

vvppvyoh1#

Map将显示为 {"Key1":2} 如果你愿意的话 Key1=2 然后使用 concat(Col1, '=', cnt) 而不是 map() :

select map(Col1, cnt) as mymap
from(
SELECT Col1, COUNT(*) cnt 
  FROM Table 
 GROUP BY Col1 
HAVING count(*)>=2 --Magic number filter here
)s;

相关问题