回收站

更新时间:
复制 MD 格式

数据湖构建(Data Lake Formation,简称 DLF)提供回收站功能,用于降低误删数据库、表以及文件的风险。删除数据库或表后,相关数据和元数据会先保留在回收站中,在保护期内可查询并还原。对于 Paimon Catalog,回收站还支持查看湖表优化清理的孤儿文件。

使用场景

  • 误删除数据库或数据表后,在元数据保护期内可还原。

  • 湖表优化孤儿文件清理的无引用文件可进入文件回收站,用于问题排查。详见废弃文件清理

前提条件

  • 权限配置: RAM 用户需具备 DLF 相关的 API 和数据权限。具体操作请参见 快速配置权限

  • Catalog 状态: Catalog 处于可访问状态。若 Catalog 不存在、已删除、无权限访问或状态不可用,还原操作会失败,回收站中的数据和元数据不会发生变化。

  • 控制台权限: 当前账号具备进入数据湖构建控制台、查看回收站和还原资源的权限。

使用限制

  • 文件回收范围: 文件回收功能仅适用于 Paimon 类型的 Catalog,且 Catalog 需已完成系统初始化。其他类型 Catalog 不支持文件回收。

  • 保护期限制: 元数据保护期到期后,数据和元数据不可恢复。即使页面仍短暂显示为清理中,也不能再执行还原操作。

  • 同名冲突: 还原数据库或数据表时,如果目标位置已有同名且状态正常的数据库或数据表,还原会失败。请先处理同名资源,再重新执行还原。

  • 父库依赖: 还原数据表要求父数据库处于正常状态。如果父数据库在回收站中,请先还原父数据库。

  • 清理中状态: 清理中状态下不能再执行还原操作,需等待后台清理完成后重试(通常约 30 分钟)。

操作步骤

步骤一:配置回收站保留期

  1. 登录数据湖构建控制台

  2. 在左侧导航栏,选择数据目录

  3. 在 Catalog 列表中,单击目标 Catalog

  4. 在 Catalog 详情页面,单击目录配置

  5. 高级配置区域,单击编辑

  6. 在属性配置区域(Catalog Properties)中新增或修改回收站相关配置项。

  7. 单击确定

回收站相关配置项说明如下。

配置项

类型

默认值

说明

dlf.trashed-meta-retained-days

Integer

1

数据库、数据表等元数据在回收站中的保护天数。必须为大于等于 1 的整数。保护期内允许还原;到期后相关数据和元数据进入不可还原的清理阶段。

dlf.trashed-file-retained-days

Integer

7

系统回收站(system.trash)中孤儿文件的保留天数。必须为非负整数。配置为 0 表示不启用文件回收。

步骤二:进入回收站页面

  1. 登录数据湖构建控制台

  2. 在左侧导航栏,选择系统和安全

  3. 在系统和安全页面,单击回收站

  4. 根据需要选择数据库数据表文件分类。

步骤三:还原数据库或数据表

  1. 在回收站页面,选择数据库数据表分类。

  2. 选择目标 Catalog,并按需输入数据库或数据表名称进行筛选。

  3. 找到需要恢复的数据库或数据表。

  4. 确认状态为删除保护中

  5. 在操作列,单击还原

步骤四:查看回收文件

  1. 在回收站页面,选择文件分类。

  2. 选择目标 Catalog,并按需输入文件名称或路径关键字进行筛选。

  3. 查看被删除的文件信息。

说明

文件分类展示的是系统回收站(system.trash)中的孤儿文件,仅支持查看,不支持还原。

注意事项

  • 保留期独立: 元数据保护期(dlf.trashed-meta-retained-days)和文件保留期(dlf.trashed-file-retained-days)是两个独立的配置项。前者控制数据库、表等元数据及数据可还原的时间;后者控制系统回收站中孤儿文件的保留时间。

  • 还原联动: 还原数据库时,随数据库一起进入回收站的库内数据表会一并恢复。此前单独删除的数据表需在数据表分类中单独还原。

  • 后台清理: 删除数据库或表后,相关数据和元数据会先进入回收站。永久删除由后台清理任务完成,具体完成时间取决于配置的保护期和后台清理调度。

常见问题

为什么查询回收站时看到"清理中"?

数据和元数据已超过元数据保护期,正在进行后台清理。清理中状态通常持续约 30 分钟,该状态下不能再执行还原操作。