Hive 分组集大小不能大于64:配置单元

Hive 分组集大小不能大于64:配置单元,hive,Hive,我的配置单元表中有70列,我想获取所有的行,这些行正好有70个匹配的列。如果两行在所有列中包含相同的数据,那么我需要找到该行并将其计为“2”。我写在下面 SELECT (all 70 columns),COUNT(*) AS CountOf FROM tablename GROUP BY (all 70 columns) HAVING COUNT(*)>1; 但它的表现 Error: Error while compiling statement: FAILE

我的配置单元表中有70列,我想获取所有的行,这些行正好有70个匹配的列。如果两行在所有列中包含相同的数据,那么我需要找到该行并将其计为“2”。我写在下面

    SELECT (all 70 columns),COUNT(*) AS CountOf FROM tablename GROUP BY (all 70 columns) 
    HAVING  COUNT(*)>1;
但它的表现

    Error: Error while compiling statement: FAILED: SemanticException [Error 10411]: 
    Grouping sets size cannot be 
    greater than 64 (state=42000,code=10411)
有没有办法从配置单元表中找到精确的重复行数?

这是配置单元
3.1.0
版本中的一个错误,它在配置单元
4.0.0
中已修复,请参阅,而不是后端口

在聚合之前,尝试在子查询中使用分隔符连接列作为一种解决方法,我不确定它是否有用

与此类似,使用concat()或concat_ws或
|
运算符:

select concat_ws ('~', col1, col2, col3, col4)
...
group by concat_ws ('~', col1, col2, col3, col4)

还应注意空值。在使用NVL函数进行连接之前,将空字符串替换为空字符串

col1||'~'||col2||'~'||...||colN