Delta Lake概念
了解Delta Lake之前最好先去了解一下什么是数据湖
,以及数据湖基于Hadoop、Spark的实现
:
数据湖的概念(包含数据中台、数据湖、数据仓库、数据集市的区别)–了解数据湖,这一篇就够了
数据分析流程中的Lambda架构,以及数据湖基于Hadoop、Spark的实现
Delta Lake的公司和spark的商业化公司是同一家开发的(Databricks公司)
1、Delta Lake特性
重要特性解读:
- 1、
ACID事务控制
:经过迭代处理产生的中间数据如果缺乏事务控制,就会导致一步错步步错(对数据的操作会记录在事务日志) - 2、
数据版本控制
:类似于Git的代码版本,可回滚数据版本 - 3、
可伸缩的元数据处理
:如果中间数据过多,数据版本过多,会导致数据内容超级庞大,就会导致元数据也很庞大,元数据的处理就会很麻烦,而Delta
Lake通过Spark的强大的并行计算能力,对元数据进行管理和计算,如下图:
- 4、
审核历史记录
:也就是对事务日志的审计,比如金融行业,对审计要求很高 - 5、
统一的批处理和流处理的source和sink
:就是流批一体化,流和批进入Delta Lake都会变成Delta Lake Table表,如下图:
2、Delta Lake如何使用
一句话概括(重点):
本质上还是使用原有的Spark、SparkSQL方式处理数据,处理流程也不变(原来使用Spark的处理流程就是:对中间数据的迭代处理),变化的地方在于,存储数据的过程加入了Delta Lake(也就是使用Delta Lake提供的API进行数据存储)