解决了什么问题
delta lake 是有 ACID 支持,有time travel... 对数据可以验证,不再需要 λ 架构
对事务的ACID支持,解决了spark job 可能会中间exception造成的不可预知状态. 比如 overwrite (delete+create) 模式下,删除了文件但是又没有创建新文件.
解决了HDFS很多小文件的问题
为什么一定要用它
传统data lake具有的问题
Delta Lake 是怎么解决λ 架构的问题的,从此不再用λ 架构. 方法就是用streaming job 来flow化管理整个流程,具体就是经历下图各个不同的阶段, 这个streaming 可以是low letency的,也可以是每天一次的. 这样就不再需要scheduled job了,也不用考虑中间出错怎么办了,所有这些都由流程自动控制了
支持什么存储,对存储有什么要求?
Delta Lake 怎么处理streaming
Ref:
- https://docs.delta.io/latest/quick-start.html
- Boston Spark Meetup @ Wayfair / Delta Lake: Open Source Reliability and Quality for Data Lakes
- https://www.youtube.com/watch?v=cpA3Ni8ZUPI&feature=youtu.be Building Data Intensive Analytic Application on Top of Delta Lakes
- Delta Lake for Apache Spark - Why do we need Delta Lake for Spark? https://www.youtube.com/watch?v=0GhFAzN4qs4
- 基于 Delta Lake 建立 ML pipeline (包含 bronze, silver, gold table) https://databricks.com/blog/2019/08/14/productionizing-machine-learning-with-delta-lake.html