Hadoop 配置单元命令错误表达式不在按密钥产品\u id分组中

Hadoop 配置单元命令错误表达式不在按密钥产品\u id分组中,hadoop,hive,Hadoop,Hive,我有一个HDFS表a,用以下格式编写 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;

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

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

您可以在配置单元中使用
collect\u set(col)
函数按用户名聚合产品

使用以下命令:

select user,collect_set(product) from A group by user;
您将获得如下输出:

U1      [102,103,101]
U2      [101,104]
U3      [102]
请参阅
更多信息。

我假设应该是“选择用户,按用户从组中收集集合(产品)”?它抛出错误消息“第1:26行表达式不在按键产品分组中”您是否已将数据正确加载到表中?看起来不错。所有版本的配置单元都支持您的功能吗?我在配置单元0.12.0上试用过。需要检查其他人。已确认@cast_A_Way的解决方案对于相对较新的版本配置单元是正确的