当前位置: 首页 > article >正文

【Azure 架构师学习笔记】- Azure Databricks (17) --Delta Live Table和Delta Table

本文属于【Azure 架构师学习笔记】系列。
本文属于【Azure Databricks】系列。
接上文 【Azure 架构师学习笔记】- Azure Databricks (16) – Delta Lake 和 ADLS整合

前言

前面介绍了Delta Table,但是Databricks又推出了“Delta Live Tables(DLTs)”这两者名字太像了以至于很容易混淆。

Delta Table是一个存储数据到表里面的方式。而DLTs可以用于通过声明式定义来描述在这些表之间的数据流。
也就是说DLTs是一个通过创建和保持数据更新用于管理很多delta table的声明式框架。
Delta Table:数据格式。
Delta Live Tables:数据管道框架(data pipeline framework)

DLTs的好处

Pipeline 可视化

DLTs 使用有向无环图战士所有数据PL(pipeline)的负载,对于非常复杂的PL而言非常有用。同时还可以看到数据是如何从bronze流到最终的gold层。在UC里面也可以通过data lineage(数据学院)来实现,但是对于那些还没有启用UC 的项目而言这是一个替代方案。

在这里插入图片描述

CDC 和性能优化

当你的PL 有大量的增删改操作时,CDC能够非常明显地提升速度,特别是对于SCD Type1 到Type2,也就是在lakehouse中,可以保留数据的历史。同时通过默认的delta 格式自动压缩从而极大地提高性能。这种自动压缩式通过把小文件合并来减少parquet对小文件处理性能差的问题。

易用

由于图形化界面使得debug的时候相比于使用Python等语言更加容易实现。

ACID

DTLs搭建在Delta table之上,使用Delta格式,前文已经提及过,Delta table具有ACID特性能够保证数据的一致性和数据质量。所以DLT自然也具有ACID 。

DLTs的注意事项

这里称为注意事项而不是缺点,因为也许它们并不是真正的不好的东西,而是需要评估是否有问题,或者只是一种当前的技术限制。

  1. 数据体量:虽然lakehouse可以处理大体量的数据,但是集群一旦要处理很大量的数据,对单个集群来说是一个负担,哪怕你的集群不停增加节点, 成本也会很高。(建议:对数据源进行预处理,如分区,拆分批处理,使得每个批处理相对较小)
  2. 外部系统的集成: DLT的设计中间在于批处理数据集成,对于流式计算通常需要额外的基础架构如Kafka等。
  3. 版本控制和回滚:虽然Delta有time travl能力,但是真要回滚的时候,从状态管理和部分回滚方面,都并不是简单的事。

DLTs和Delta Tables 对比

在这里插入图片描述

小结

简单来说,DLT不是简单的“table”,而是一个ETL 过程。接下来的几篇将会演示一些使用。


http://www.kler.cn/a/578104.html

相关文章:

  • 嵌入式学习笔记-卡尔曼滤波,PID,MicroPython
  • K8s 网络-基本环境准备 Day01
  • DeepSeek与浏览器自动化AI Agent构建指南
  • LVGL直接解码png图片的方法
  • Matlab读取二维数据的csv文件,并绘制为一维的折线图
  • GCC RISCV 后端 -- GCC Passes 注释
  • 100天精通Python(爬虫篇)——第115天:爬虫在线小工具_Curl转python爬虫代码工具(快速构建初始爬虫代码)
  • Laya中runtime的用法
  • 机器学习之强化学习
  • Locker 是 Godot 的一个开源插件,它提供了一种快速且可扩展的方式来使用不同的策略保存和加载数据,并且具有开箱即用的 JSON 和加密功能。
  • 【Windows下Gitbook快速入门使用】
  • 【GPT入门】第5课 思维链的提出与案例
  • 2. 电脑主机上配置机器人环境(具身智能机器人套件)
  • MQ 消息发送可靠性保证 —— 整合 Spring Retry 重试框架 + 补偿发送方案
  • 【网络协议详解】——路由策略技术(学习笔记)
  • Apache Kafka 在生产环境中的管理与优化:从理论到实践
  • manus本地部署使用体验
  • 使用 Java 执行 SQL 语句和存储过程
  • [含文档+PPT+源码等]精品基于Python实现的校园小助手小程序的设计与实现
  • Java面试第九山!《SpringBoot框架》