我正在尝试学习如何删除用户id的重复不到20次在评级表(id与不到20票搞砸了预测)
delete * FROM rating
WHERE COUNT(user_id) <20;
下面是我得到的错误:org.apache.hive.service.cli.hivesqlexception:编译语句时出错:failed:semanticexception[error 10128]:行3:6尚未支持udaf“count”的位置
我正在尝试学习如何删除用户id的重复不到20次在评级表(id与不到20票搞砸了预测)
delete * FROM rating
WHERE COUNT(user_id) <20;
下面是我得到的错误:org.apache.hive.service.cli.hivesqlexception:编译语句时出错:failed:semanticexception[error 10128]:行3:6尚未支持udaf“count”的位置
2条答案
按热度按时间nzk0hqpo1#
有两个大问题
你的问题是错误的。要正常工作,需要使用聚合函数
count
和groupby在一起user_id
柱。不能使用删除记录
delete
除非你的表是transactional table.
要从非跨国表中删除记录,需要使用insert overwrite
语句用所需的记录覆盖表。语法:
你的代码应该是这样的
rdlzhqv92#
如果您有事务表,那么您可以
delete user_id
计数少于20
用下面的语句。