
# SHALLOW CLONE
#### 命令功能
SHALLOW CLONE 命令在特定版本创建现有Delta表的浅拷贝。被克隆的信息包括：schema、分区信息、数据文件路径等。
对克隆表所做的任何更改都只会影响克隆本身，而不会影响源表，只要它们不触及源数据。注意克隆表可能仍会指向源表的数据文件，当源表做了vacuum操作时，可能导致克隆表找不到文件。
#### 命令格式
**CREATE TABLE** *\[target_db.\]target_table*
SHALLOW CLONE *\[source_db.\]source_table* \|*DELTA.\`obs://bucket_name/tbl_path\`*
location 'obs://bucket_name/tbl_path'
#### 参数描述
表1SHALLOW CLONE参数描述 
| **参数**          | **描述**                        |
|:---|:---|
| *target_db*     | 目标Database名称，由字母、数字和下划线（_）组成。 |
| *target_table*  | 目标表名，由字母、数字和下划线（_）组成。         |
| *source_db*     | 源Database名称，由字母、数字和下划线（_）组成。  |
| *source_table*  | 源表名，由字母、数字和下划线（_）组成。          |
| *bucket_name*   | obs桶名称。                       |
| *tbl_path*      | Delta表在obs桶中的存储位置。            |
| constraint_name | 约束名称。                         |
| boolExpression  | 约束条件表达式。                      |
   
#### 所需权限
- SQL权限
表2SHALLOW CLONE所需权限列表 
| 权限描述               |
|:---|
| 目标库的CREATE_TABLE权限 |
| 源表的SELECT权限        |
   
- 细粒度权限：dli:database:createTable, dli:table:select。
- LakeFormation提供的元数据服务，权限配置详见LakeFormation文档。
 
#### 示例
```
CREATE OR REPLACE TABLE delta_table1 SHALLOW CLONE delta_table0 LOCATION 'obs://bucket0/db0/delta_table1';
CREATE TABLE delta.`obs://bucket0/db0/delta_table1` SHALLOW CLONE delta_table0 VERSION AS OF 10;
```
#### 系统响应
可在执行历史或作业列表中查看任务运行成功或失败。
