更新时间:2022-12-07 GMT+08:00

开启或关闭数据多版本

功能描述

DLI提供多版本功能,用于数据的备份与恢复。开启多版本功能后,在进行删除或修改表数据时(insert overwrite或者truncate操作),系统会自动备份历史数据并保留一定时间,后续您可以对保留周期内的数据进行快速恢复,避免因误操作丢失数据。其他多版本SQL语法请参考多版本备份恢复数据

DLI数据多版本功能当前仅支持通过Hive语法创建的OBS表,具体建表语法可以参考使用Hive语法创建OBS表

语法格式

  • 开启多版本功能
    ALTER TABLE [db_name.]table_name 
    SET TBLPROPERTIES ("dli.multi.version.enable"="true");
  • 关闭多版本功能
    1
    2
    ALTER TABLE [db_name.]table_name 
    UNSET TBLPROPERTIES ("dli.multi.version.enable");
    
    开启多版本功能后,在执行insert overwrite或者truncate操作时会自动在OBS存储路径下存储多版本数据。关闭多版本功能后,需要通过如下命令把多版本数据目录回收。
    RESTORE TABLE [db_name.]table_name TO initial layout;

关键字

  • SET TBLPROPERTIES:设置表属性,开启多版本功能。
  • UNSET TBLPROPERTIES:取消表属性,关闭多版本功能。

参数说明

表1 参数描述

参数

描述

db_name

Database名称,由字母、数字和下划线(_)组成。不能是纯数字,且不能以下划线开头。

table_name

表名称。

注意事项

DLI数据多版本功能当前仅支持通过Hive语法创建的OBS表,具体建表语法可以参考使用Hive语法创建OBS表

示例

  • 修改表test_table,开启多版本功能。
    1
    2
    ALTER TABLE test_table 
    SET TBLPROPERTIES ("dli.multi.version.enable"="true");
    
  • 修改表test_table,关闭多版本功能。
    1
    2
    ALTER TABLE test_table 
    UNSET TBLPROPERTIES ("dli.multi.version.enable");
    
    回退多版本路径。
    RESTORE TABLE test_table TO initial layout;