译者
张鹏(卓昇),阿里云计算平台事业部技术专家。
前言
本文翻译自大数据技术公司 Databricks 针对数据湖 Delta Lake 系列技术文章。众所周知,Databricks 主导着开源大数据社区 Apache Spark、Delta Lake 以及 ML Flow 等众多热门技术,而 Delta Lake 作为数据湖核心存储引擎方案给企业带来诸多的优势。
此外,阿里云和 Apache Spark 及 Delta Lake 的原厂 Databricks 引擎团队合作,推出了基于阿里云的企业版全托管 Spark 产品 —— Databricks 数据洞察,该产品原生集成企业版 Delta Engine 引擎,无需额外配置,提供高性能计算能力。有兴趣的同学可以搜索` Databricks 数据洞察`或`阿里云 Databricks`进入官网,或者直接访问以下链接进行了解:
https://www.aliyun.com/product/bigdata/spark
本系列还包括其他内容,欢迎持续关注:
第一章:基础和性能
第二章:特性
01、【详谈 Delta Lake】系列专题 之 特性 - 01 为什么使用 Delta Lake 的 MERGE 功能?>>
02、使用 Python API 在 Delta Lake 数据表上操作/大型数据湖的 Time Travel 功能 >>
03、(本文)轻松克隆 Delta Lake / 在 Apache Spark 上的 Delta Lake 中启用 Spark SQL 语句
第三章:Lakehouse
第四章:Streaming
第五章:客户用例
Delta Lake 技术系列 - 特性( Features )
——使用 Delta Lake 稳定的特性来可靠的管理您的数据
Chapter-04 轻松克隆您的 Delta Lake 以方便测试,数据共享以及重复进行机器学习
Delta Lake 有一个表克隆的功能,可以轻松进行测试,共享和重新创建表以实现 ML 的多次训练。在数据湖或数据仓库中创建表的副本有几种实际用途。但是考虑到数据湖中表的数据量及其增长速度,进行表的物理副本是一项昂贵的操作。
借助表克隆,Delta Lake 现在使该过程更简单且更省成本。
什么是克隆?
克隆是源表在给定时间点的副本。它们具有与源表相同的元数据:相同表结构,约束,列描述,统计信息和分区。但是它们是一个单独的表,具有单独的体系或历史记录。对克隆所做的任何更改只会影响克隆表,而不会影响源表。由于快照隔离,在克隆过程中或之后发生的源表更改也不会反映到克隆表中。在 Delta Lake 中,我们有两种克隆方式:浅克隆或深克隆。
浅克隆
浅克隆(也称为零拷贝)仅复制要克隆的表的元数据;表本身的数据文件不会被复制。这种类型的克隆不会创建数据的另一物理副本,从而将存储成本降至最低。浅克隆很便宜,而且创建起来非常快。
这些克隆表自己不作为数据源,而是依赖于它们的源文件作为数据源。如果删除了克隆表所依赖的源文件,例如使用 VACUUM ,则浅克隆可能会变得不可用。因此,浅克隆通常用于短期使用案例