上云无忧 > 文档中心 > 百度数据仓库 Palo 导入事务和原子性
百度数据仓库 Palo Doris版
百度数据仓库 Palo 导入事务和原子性

文档简介:
导入原子性: PALO 中的所有导入操作都有原子性保证,即一个导入作业中的数据要么全部成功,要么全部失败。不会出现仅部分数据导入成功的情况。 在 BROKER LOAD 中我们也可以实现多多表的原子性导入。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

导入原子性

PALO 中的所有导入操作都有原子性保证,即一个导入作业中的数据要么全部成功,要么全部失败。不会出现仅部分数据导入成功的情况。

在 BROKER LOAD 中我们也可以实现多多表的原子性导入。

对于表所附属的 [物化视图](TODO),也同时保证和基表的原子性和一致性。

Label 机制

PALO 的导入作业都可以设置一个 Label。这个 Label 通常是用户自定义的、具有一定业务逻辑属性的字符串。

Label 的主要作用是唯一标识一个导入任务,并且能够保证相同的 Label 仅会被成功导入一次。

Label 机制可以保证导入数据的不丢不重。如果上游数据源能够保证 At-Least-Once 语义,则配合 PALO 的 Label 机制,能够保证 Exactly-Once 语义。

Label 在一个数据库下具有唯一性。Label 的保留期限默认是 3 天。即 3 天后,已完成的 Label 会被自动清理,之后 Label 可以被重复使用。

最佳实践

Label 通常被设置为 业务逻辑+时间 的格式。如 my_business1_20201010_125000。

这个 Label 通常用于表示:业务 my_business1 这个业务在 2020-10-10 12:50:00 产生的一批数据。通过这种 Label 设定,业务上可以通过 Label 查询导入任务状态,来明确的获知该时间点批次的数据是否已经导入成功。如果没有成功,则可以使用这个 Label 继续重试导入。

相似文档
  • PALO 支持丰富的列映射、转换和过滤操作。可以非常灵活的处理需要导入的原始数据。 本文档主要介绍如何在导入中使用这些功能。 总体介绍: PALO 在导入过程中对数据处理步骤分为以下几步: 数据按原始文件中的列的顺序读入到 PALO。 通过前置过滤条件(PRECEDING FILTER)对原始数据进行一次过滤。
  • 严格模式(strict_mode)为导入操作中的一个参数配置。该参数会影响某些数值的导入行为和最终导入的数据。 本文档主要说明如何设置严格模式,以及严格模式产生的影响。
  • PALO 中存储的数据都是以追加(Append)的方式进入系统,这意味着所有已写入的数据是不可变更的。 所以 PALO 采用标记的方式来实现数据更新的目的。即在一批更新数据中,将之前的数据标记为删除,并写入新的数据。
  • PALO 中的数据删除有以下几种方式: TRUNCATE,该命令用于直接清空表或分区,但不会删除对应的元数据。操作代价较低,再有清空数据需求时,建议使用。 DROP,删除表或分区,会同时删除数据和元数据。
  • 标记删除功能是对 DELETE 语句删除功能的一种补充。使用 DELETE 语句对数据删除,无法支持高频操作场景。 另外,类似于CDC(Change Data Capture)场景中,INSERT 和 DELETE 一般是穿插出现的。 标记删除功能就是为了支持以上两种场景而做的功能。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部