Hadoop 配置单元命令错误表达式不在按密钥产品\u id分组中
我有一个HDFS表a,用以下格式编写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;
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的解决方案对于相对较新的版本配置单元是正确的