ODPS通过SQL删除数据的方法

为什么80%的码农都做不了架构师?>>>   hot3.png

ODPS不支持直接通过delete语句删除数据。

对于非分区表

通过“TRUNCATE TABLE table_name;”语句清空表数据,也可以用覆盖写的功能实现类似的功能。

  • 如要删除TableA表里的Col=1的数据,使用如下命令即可
INSERT OVERWRITE TABLE TableA SELECT FROM TableA WHERE Col <> 1;
  • 要删除全部数据,类似的方式:
INSERT OVERWRITE TABLE TableA SELECT FROM TableA WHERE 1=2;

对于分区表

只需要要删除对应的分区即可删除对应的数据:

ALTER TABLE table_name DROP [IF EXISTS] partition_spec;

转载于:https://my.oschina.net/siiiso/blog/850470

你可能感兴趣的:(ODPS通过SQL删除数据的方法)