Hive如何根据条件组合组内的多个记录
Posted
技术标签:
【中文标题】Hive如何根据条件组合组内的多个记录【英文标题】:Hive how to combine multiple records within a group based on condition 【发布时间】:2019-04-05 12:24:57 【问题描述】:我有如下数据集。
client-Id Name HasCar HasHome
A01 ABC Y N
A01 ABC N N
B01 EFG N N
B01 EFG N Y
从这里我需要为每个客户派生一个单行,无论他有车还是家。预期的输出应如下所示
Client-Id Name HasCar HasHome
A01 ABC Y N
B01 EFG N Y
这需要使用 Hive-QL 来完成
【问题讨论】:
您也可以向我们展示您的尝试吗? 我尝试了以下 1) 使用带有子查询的 case 语句,但 hive 不支持子查询。 【参考方案1】:使用 max() 聚合:
select client-Id,Name, max(HasCar) HasCar, max(HasHome) HasHome
from your_table
group by client-Id,Name
【讨论】:
以上是关于Hive如何根据条件组合组内的多个记录的主要内容,如果未能解决你的问题,请参考以下文章