如何在Databricks中将Delta表从环境1复制到环境2
Databricks Delta表跨环境复制方案
将environment1环境中的Delta表复制到environment2环境,可直接使用Delta表原生的SHALLOW CLONE(浅克隆)语法实现,无需额外做数据导出导入操作。
参考实现代码如下:
CREATE TABLE environment2_target_table SHALLOW CLONE environment1_source_table LOCATION dbfs:/environment2/target_table_storage/
实际使用注意事项:
- 浅克隆只会复制源表的元数据,不会全量拷贝源表的历史数据文件,复制速度极快,适合测试环境快速同步表、临时验证数据等场景
- 浅克隆生成的目标表依赖源环境的底层数据文件,如果源表对应的数据文件被清理删除,目标表读取关联的历史数据时会报错
- 如果需要目标表完全独立、和源表无存储依赖,把语句中的
SHALLOW CLONE替换为DEEP CLONE即可,该模式会全量复制源表的所有元数据和数据文件,复制完成后两个表互不影响 - 执行克隆语句前,需要保证当前使用的计算资源同时具备源表的读权限、目标环境元存储的建表权限,以及目标存储路径的读写权限
内容的提问来源于stack exchange,提问作者user3418170
相关产品推荐
相关产品推荐

