上云无忧 > 文档中心 > 百度数据仓库 Palo 数据删除
百度数据仓库 Palo Doris版
百度数据仓库 Palo 数据删除

文档简介:
PALO 中的数据删除有以下几种方式: TRUNCATE,该命令用于直接清空表或分区,但不会删除对应的元数据。操作代价较低,再有清空数据需求时,建议使用。 DROP,删除表或分区,会同时删除数据和元数据。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

PALO 中的数据删除有以下几种方式:

  • TRUNCATE,该命令用于直接清空表或分区,但不会删除对应的元数据。操作代价较低,再有清空数据需求时,建议使用。
  • DROP,删除表或分区,会同时删除数据和元数据。
  • DELETE,Delete 语句用于按条件删除数据,具体说明见本文档按条件删除一节。
  • MARK DELETE,Mark Delete 功能对数据进行按行删除,具体说明见本文档标记删除一节。

本文档主要介绍 DELETE 和 BATCH DELETE 两种方式,其他方式可参阅对应的命令文档。

按条件删除

使用 DELETE 命令可以按条件删除数据。具体说明请参阅 DELETE 命令文档。下面通过示例说明:

DELETE FROM example_table WHERE event_day < 20201001 AND event_key != 1000; DELETE FROM 
example_table PARTITION p202010 WHERE event_key in (1000, 1001, 1002, 1003); 

DELETE 命令是一个同步命令,返回成功即代表删除成功。

用户可以通过以下命令查看历史的 DELETE 操作记录:

mysql> SHOW DELETE FROM example_db; +-----------+---------------+-------------------
--+-----------------+----------+ | TableName | PartitionName | CreateTime | DeleteCondition 
| State | +-----------+---------------+---------------------+-----------------+---------
-+ | empty_tbl | p3 | 2020-04-15 23:09:35 | k1 EQ "1" | FINISHED | | test_tbl | p4 | 2020-04-15
 23:09:53 | k1 GT "80" | FINISHED | +-----------+---------------+---------------------+-----
------------+----------+ 2 rows in set (0.00 sec)

具体说明,可参阅 SHOW DELETE 命令文档。

注意事项

  • DELETE 命令不适用于高频的删除操作,比如短时间内发送大量的 DELETE 命令,会严重影响底层数据合并效率以及查询效率。因为DELETE 操作本质上是存储了一个删除条件,在查询时会对每一行记录应用这个删除条件做过滤,因此当有大量删除条件时,查询效率就会降低。
  • 尽量避免使用 DELETE-LOAD-DELETE-LOAD 这种交替执行的使用模式,这种模式对底层的数据合并策略非常不友好,可能会导致大量的数据未合并,导致积压。

标记删除

标记删除功能主要用于解决一些需要实时更新同步的场景。比如 同步MySQL的Binlog 数据。该方式只能应用于 UNIQUE KEY 模型的表上。具体说明,请参阅 MARK DELETE 文档。

相似文档
  • 标记删除功能是对 DELETE 语句删除功能的一种补充。使用 DELETE 语句对数据删除,无法支持高频操作场景。 另外,类似于CDC(Change Data Capture)场景中,INSERT 和 DELETE 一般是穿插出现的。 标记删除功能就是为了支持以上两种场景而做的功能。
  • UNIQUE KEY 模型下,PALO 会根据主键自动的进行数据的更新。但是当同一批次导入数据中出现相同主键的行时,PALO 无法判断其先后顺序,则可能出现更新行为不一致的问题。 而在某些数据同步场景下,需要保证数据能够按顺序更新,而 Sequence Column 功能就是为了解决这一问题。
  • 某些情况下,用户希望将 PALO 中的数据导出到其他系统做进一步分析。 PALO 目前支持通过以下方式将数据导出: Export: EXPORT 命令主要用于将全表(或指定分区)的内容导出到远端存储,比如 BOS 上。 该方式目前仅支持指定表或分区进行全量的导出。不支持对导出结果进行映射、过滤或转换操作。导出格式为 CSV。
  • 全量数据导出(Export)是 PALO 提供的一种将数据导出的功能。 该功能可以将用户指定的表或分区的数据,以文本的格式,通过 Broker 进程导出到远端存储上,如 HDFS/BOS 等。 本文档主要介绍 Export 功能的基本使用方式。
  • PALO 支持通过 INSERT 命令直接将数据写入到 ODBC 外部表,作为数据导出的一种方式。 首先须通过 CREATE ODBC TABLE 名创建一个 ODBC 外部表。 之后可以通过如下命令将数据写入外部表: INSERT INTO extern_tbl VALUES(1, 2, 3); INSERT INTO extern_tbl SELECT * FROM other_tbl;
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部