我在hive中有一个字段,其中包含一个如下所示的Map: {"258":0.10075276284486512,"259":0.00093852142318649,"262":0.015979321337627,"264":0.0020453444772401,"265":0.024689771044731,"268":0.018837925051338,"274":0.011282124863882}
我想为每一行提取这个最大值Map的键[和值,如果可能的话]。在这种情况下,理想函数如下所示: select max_val(col) from table
输出:
max_val
"258"
"165"
"204"
1条答案
按热度按时间wj8zmpe11#
explode
这个map
列,然后使用排序函数,如rank
根据需要对值进行排序并获取第一行(这假设有一种方法可以用除map
,id
在下面显示的查询中。)