【问题标题】:Hive how to combine multiple records within a group based on conditionHive如何根据条件组合组内的多个记录
【发布时间】: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 不支持子查询。

标签: hive hiveql hadoop2


【解决方案1】:

使用 max() 聚合:

select client-Id,Name, max(HasCar) HasCar,  max(HasHome) HasHome
  from your_table 
 group by client-Id,Name

【讨论】:

    猜你喜欢
    • 2016-07-15
    • 2021-05-28
    • 1970-01-01
    • 2022-07-08
    • 1970-01-01
    • 2021-11-29
    • 1970-01-01
    • 2015-04-25
    • 2017-08-03
    相关资源
    最近更新 更多