hive命令错误表达式不在Group By Key product_id中

时间:2014-04-09 06:58:15

标签: hadoop hive

我有一个用以下格式编写的HDFS表

user  product
U1       101
U1       102
U1       103
U2       101
U2       104
U3       102

...............

describe A;
>> user   string
   product int

现在,如果我想聚合用户以便将同一用户的产品组合在一起,我该如何编写hive命令?

select user, product from A group by user;

error: line 1:14 Expression Not In Group By Key product

1 个答案:

答案 0 :(得分:2)

您可以在配置单元中使用collect_set(col)功能按用户名聚合产品。

使用以下命令:

select user,collect_set(product) from A group by user;

您将获得如下输出:

U1      [102,103,101]
U2      [101,104]
U3      [102]

请参阅Hive Documentation for collect_set() 了解更多信息。