Databricks Delta Lake

623 阅读6分钟

Databricks Delta Lake简介

Databricks Delta Lake是一个开源的存储层,可以提供安全性。考虑到批处理和流操作,它为databricks数据湖和用户的数据湖的性能带来了可靠性。Delta湖能够在数据湖的基础上构建湖屋架构。它为Databricks delta湖增加了优化的布局和索引,以实现快速、互动的查询。

主要观点

以下几点概述了Databricks Delta Lake、其关键点以及其用途。

  • Databricks Delta Lake有助于迎合Spark、Hive等大数据ETL工具无法解决的一些要点。
  • Delta湖还提供DML支持,即使用合并和删除不良记录的单一步骤进行更新和插入。
  • 它提供了数据版本管理,可以实现数据回滚、审计变更和报告的复制。
  • 它有统一的流媒体和批处理水槽,能够将大量的数据直接摄入到查询表中。
  • Delta lake使用优化和Z-order来提高查询性能,以及模式演变,使用户能够对表的模式进行修改,并自动应用,不需要任何DDL语句。
  • Delta湖使用Delta格式来存储数据,在将Delta数据移植到Spark平台时,Delta格式需要被Parquet格式取代。

什么是Databricks Delta湖?

Databricks delta lake提供ACID(原子性、一致性、隔离性、持久性)交易和可扩展元数据处理。Delta湖在现有的数据湖之上运行,并与Apache API Spark兼容;Delta湖还具有成本效益,因为用户可以用非结构化、半结构化和结构化数据取代数据仓。它自动处理模式变化,以防止在摄取期间插入讨厌的记录。它还可以实现回滚、历史审计跟踪和可重复的机器学习实验。

Delta Engine的优化通过支持从大规模ETL处理到临时互动查询的各种工作负载,帮助Delta lake操作具有很高的性能。

如何使用Databricks的Delta湖工作区?

Delta Lake Workspace需要访问Azure Databricks Workspace,它有助于通过使用Delta Lake进行批量作业来执行结构化流。

**第1步:**使用Delta Lake Workspace的前提条件是要有一个活跃的Azure账户。点击portal.azure.com/,进行注册/登录(如果…

**第2步:**登录后,点击+创建一个资源,如下图所示。

Databricks Delta Lake 1

**第3步:**在下面的屏幕中,在市场文本框中搜索 "Azure Databricks "并选择。

Databricks Delta Lake 2

**第4步:**在Azure Databricks这里,点击 "创建",如下图所示。

Databricks Delta Lake 3

Databricks Delta Lake 4

**第5步:**在上述Azure Databricks服务刀片表格中,填写以下细节。

  • **工作区的名称:**awdbwsstudxx,这里的 "xx "代表用户的首字母。
    **订阅。**选择用户在Azure实验室中使用的订阅。
  • **资源组名称:**awrgstudxx;这里,"xx "代表用户的首字母。
  • 地点。美 国东部。
  • **价格层级。**试用(高级-14天免费DBU)(如Azure门户中所示)。
    选择审查和创建。

Databricks Delta Lake 5

**第6步:**一旦你点击 "审查+创建",给定的细节就会得到验证,Azure Databricks工作空间就会被创建。

**第7步:**点击 "创建",然后开始部署。

Databricks Delta Lake 6

**第8步:**部署完成后,选择 "转到资源"。

Databricks Delta Lake 7

**第9步:**现在,选择 "启动工作区 "或 "转到资源",并在新标签中打开Databricks工作区。

Databricks Delta Lake 8

**第10步:在Databricks的左侧菜单中,选择 "启动工作区 "或 "转到资源",并在新标签页中打开Databricks工作区。**在Databricks工作区的左侧菜单中,选择创建集群。

select Create Cluster

**第11步:**填写如下所示的细节;根据要求,用户可以选择单节点或多节点与所需的节点类型,并点击创建集群。

Databricks Delta Lake 10

第**12步:**一旦集群被创建,用户可以执行流和批处理。点击工作空间-用户,选择所需的用户名,并点击导入。

user will be able to perform Stream and Batch processing

第13步:在导入对话框中,粘贴以下URL(样本)

github.com/solliancene…

Import dialog box

打开11-Delta-Architecture 打开1-Delta-Architecture。

Databricks Delta Lake 13

第**14步:**运行所有单元或运行每个单元,如下图所示,并生成输出。

Run all the Cells

Databricks Delta Lake架构图或Delta Lake模型

让我们来看看Delta湖的架构。

Model

Delta湖架构是对Lambda架构的改进。在上面显示的每个阶段,用户可以通过一个连接的管道来改进数据,该管道允许用户通过共享文件存储和ACID事务来结合批处理和流工作流程。

如上图所示,Delta湖中的数据被组织成文件夹或层,即铜、银和金。

  • **青铜:**这些表有从JSON文件、RDBMS数据、物联网数据等来源摄入的原始数据)。
  • **白银级。**这些表对用户数据有一个精炼的看法,并且可以连接来自各种青铜表的字段,以更新账户状态或改进流媒体记录。
  • **金色。**这些表提供用于报告和仪表盘的业务水平汇总。它包括每个商店的每周销售额汇总,每个部门每季度的总收入,或每天活跃的网站用户。

输出有可操作的洞察力,业务指标的报告和仪表板。大多数物联网或传感器设备产生的数据跨越各种摄取路径。批量数据是通过Azure数据库砖或Azure数据工厂摄入的。流数据从IoT Hub或Event Hub消费。经过提取和转换的数据被加载到Delta Lake。

常见问题

以下是其他常见问题解答。

Q1.Delta不支持的DML和DDL语句有哪些?

答:重写。

Delta不支持的DML语句有:重写(Overwrite)、分块(Bucketing)、在Truncate表中指定目标分区、以及在读表时指定模式。分析表、加载数据、创建表和修改表是Delta不支持的DDL语句。

Q2.Delta湖与Apache Spark有什么关系?

答:Databricks的Delta lake位于Apache Spark上。

Databricks Delta lake位于Apache Spark的顶部。计算和格式层有助于简化构建大数据管道,提高管道的整体效率。

Q3.用户可以将数据直接输入或输出到Delta Tables吗?

答:可以。

是的,用户可以使用结构化流媒体将数据直接写入Delta表并读取。

总结

我们已经看到了Databricks Delta Lake的含义,以及如何使用Delta Lake工作区,包括处理批处理和流式数据的步骤,还有Delta Lake的架构和模型。我们还列出了Delta Lake的主要收获,并看到了一些常见问题,以更好地帮助我们。

推荐文章

这是一份关于Databricks Delta Lake的指南。在这里,我们讨论了介绍,模型,以及如何使用Databricks delta湖工作区与常见问题。你也可以看看下面的文章,以了解更多信息

  1. Databricks CLI
  2. 淘宝网的数据库
  3. 访谈问题
  4. 数据工程师项目

The postDatabricks Delta Lakeappeared first onEDUCBA.