如何删除配置单元表记录,我们有100条记录,我只需要删除10条记录,当我使用dfs-rmr table\u name删除整个表如果有机会在hbase中删除,发送到hbase中的数据,
fgw7neuy1#
不能直接从配置单元表中删除,但是可以使用覆盖到配置单元表中的解决方法
insert overwrite into table_nameselect * from table_namewhere id in (1,2,3,...)
insert overwrite into table_name
select * from table_name
where id in (1,2,3,...)
gupuwyp22#
无法从配置单元表中删除数据,因为它已写入hdfs中的文件中。只能删除删除hdfs中目录的分区。因此,最好的做法是在将来要删除分区时使用分区。
fjnneemd3#
试着用where和你的钥匙和in子句
DELETE FROM tablename where id in (select id from tablename limit 10);
example:- i 在配置单元中有一个事务表
select * from trans;+-----+-------+--+| id | name |+-----+-------+--+| 2 | hcc || 1 | hi || 3 | hdp |+-----+-------+--+
select * from trans;
+-----+-------+--+
| id | name |
| 2 | hcc |
| 1 | hi |
| 3 | hdp |
现在我只想删除2,那么我的delete语句将是
delete from trans where id in (select id from trans limit 1);
result:-
select * from trans;+-----+-------+--+| id | name |+-----+-------+--+| 1 | hi || 3 | hdp |+-----+-------+--+
所以我们刚刚删除了第一条记录,就像这样,您可以指定限制10,然后配置单元可以删除前10条记录。您可以指定orderby。。。如果只需要删除具有特定顺序的前10个,则子查询中的其他一些子句(如delete id从1到10)。
jxct1oxe4#
要删除表中的记录,可以使用配置单元客户端的sql语法:
DELETE FROM tablename [WHERE expression]
4条答案
按热度按时间fgw7neuy1#
不能直接从配置单元表中删除,但是可以使用覆盖到配置单元表中的解决方法
gupuwyp22#
无法从配置单元表中删除数据,因为它已写入hdfs中的文件中。只能删除删除hdfs中目录的分区。因此,最好的做法是在将来要删除分区时使用分区。
fjnneemd3#
试着用where和你的钥匙和in子句
example:- i 在配置单元中有一个事务表
现在我只想删除2,那么我的delete语句将是
result:-
所以我们刚刚删除了第一条记录,就像这样,您可以指定限制10,然后配置单元可以删除前10条记录。
您可以指定orderby。。。如果只需要删除具有特定顺序的前10个,则子查询中的其他一些子句(如delete id从1到10)。
jxct1oxe4#
要删除表中的记录,可以使用配置单元客户端的sql语法: