如何删除配置单元表记录?

7uzetpgm  于 2021-06-26  发布在  Hive
关注(0)|答案(4)|浏览(384)

如何删除配置单元表记录,我们有100条记录,我只需要删除10条记录,当我使用
dfs-rmr table\u name删除整个表如果有机会在hbase中删除,发送到hbase中的数据,

fgw7neuy

fgw7neuy1#

不能直接从配置单元表中删除,但是可以使用覆盖到配置单元表中的解决方法

  1. insert overwrite into table_name
  2. select * from table_name
  3. where id in (1,2,3,...)
gupuwyp2

gupuwyp22#

无法从配置单元表中删除数据,因为它已写入hdfs中的文件中。只能删除删除hdfs中目录的分区。因此,最好的做法是在将来要删除分区时使用分区。

fjnneemd

fjnneemd3#

试着用where和你的钥匙和in子句

  1. DELETE FROM tablename where id in (select id from tablename limit 10);

example:- i 在配置单元中有一个事务表

  1. select * from trans;
  2. +-----+-------+--+
  3. | id | name |
  4. +-----+-------+--+
  5. | 2 | hcc |
  6. | 1 | hi |
  7. | 3 | hdp |
  8. +-----+-------+--+

现在我只想删除2,那么我的delete语句将是

  1. delete from trans where id in (select id from trans limit 1);

result:-

  1. select * from trans;
  2. +-----+-------+--+
  3. | id | name |
  4. +-----+-------+--+
  5. | 1 | hi |
  6. | 3 | hdp |
  7. +-----+-------+--+

所以我们刚刚删除了第一条记录,就像这样,您可以指定限制10,然后配置单元可以删除前10条记录。
您可以指定orderby。。。如果只需要删除具有特定顺序的前10个,则子查询中的其他一些子句(如delete id从1到10)。

展开查看全部
jxct1oxe

jxct1oxe4#

要删除表中的记录,可以使用配置单元客户端的sql语法:

  1. DELETE FROM tablename [WHERE expression]

相关问题