作者: | Bennie Haelen and Dan Davis |
语言: | 英文 |
出版年份: | 2023 |
下载链接: |
书籍均收集自互联网,仅供学习和研究使用,请莫用于商业用途。谢谢合作。 |
在大数据和人工智能快速发展的背景下,组织对数据产品的创建需求日益增长。然而,数据的有效性取决于数据质量。《Delta Lake: Up & Running》由 Bennie Haelen 和 Dan Davis 合著,旨在为数据工程师、数据科学家和数据分析师提供实用的指导,帮助他们快速搭建和运行 Delta Lake,并利用其独特功能构建数据管道和应用程序,从而从数据中获取洞察。
Delta Lake 是一个开源的湖屋框架,基于 Amazon S3、ADLS 和 GCS 等平台,结合了数据湖的灵活性和数据仓库的可靠性。它支持 ACID 事务,能够处理大规模数据的更新、删除和合并操作,并提供时间旅行功能,允许用户回溯和检查数据的早期版本。此外,Delta Lake 还支持流式和批处理作业的并发运行,是构建现代数据湖屋架构的理想选择。
本书内容丰富,涵盖了 Delta Lake 的各个方面,包括其架构设计、核心功能、操作指南以及与其他技术的集成。以下是各章节的主要内容:
介绍了关系数据库、数据仓库和数据湖的发展历程,分析了它们的优缺点,并引出了 Delta Lake 所解决的问题。详细阐述了湖屋架构的概念及其优势,包括如何通过 Delta Lake 实现数据湖和数据仓库的最佳结合。
指导读者如何在本地机器上设置 Delta Lake,并使用 PySpark 和 Spark Scala Shell 运行 Delta Lake 示例程序。介绍了 Delta Lake 的基本格式,包括 Parquet 文件的使用以及 Delta Lake 事务日志的工作原理。
讲解了如何使用 SQL DDL、DataFrameWriter API 和 DeltaTableBuilder API 创建 Delta 表,以及如何读取、写入 Delta 表。介绍了分区的概念及其在性能优化中的作用,并展示了如何设置用户自定义元数据。
深入探讨了 Delta Lake 中的 DML 操作,包括删除、更新和合并(UPSERT)操作。通过具体示例,展示了这些操作在事务日志中的记录方式以及对底层数据文件的影响。
讨论了如何通过数据跳过、分区、文件压缩和 ZORDER BY 等技术优化 Delta Lake 的性能。介绍了液态聚类(Liquid Clustering)的概念及其在自动优化数据布局方面的优势。
介绍了 Delta Lake 的时间旅行功能,包括如何恢复到早期版本、查询旧版本数据以及设置数据和日志文件的保留期限。详细解释了 VACUUM 命令的使用方法及其在清理旧数据文件中的作用。
探讨了 Delta Lake 的架构验证和架构演进功能。介绍了如何在写入数据时强制执行架构,以及如何通过显式更新或动态演进的方式修改表的架构。
介绍了 Spark Structured Streaming 与 Delta Lake 的集成,展示了如何使用 Delta Lake 作为流数据的源和汇。通过具体示例,讲解了如何构建流式数据处理管道,并讨论了 AvailableNow 触发模式在增量处理中的应用。
介绍了 Delta Lake 的数据共享功能,包括如何通过 Delta Sharing 协议安全地共享数据集,以及如何使用 Delta Connectors 与多种大数据引擎集成。
总结了如何使用 Delta Lake 构建湖屋架构,包括存储层、事务层和查询引擎的选择。介绍了 Medallion 架构模式,并讨论了如何通过 Delta Lake 支持机器学习和人工智能应用。
本书适用于以下几类读者:
《Delta Lake: Up & Running》是一本全面、实用的 Delta Lake 指南。它不仅涵盖了 Delta Lake 的基础概念和核心功能,还提供了丰富的操作示例和最佳实践。通过阅读本书,读者将能够快速掌握 Delta Lake 的使用方法,并将其应用于构建高效、可靠的数据湖屋架构,从而在大数据时代中更好地发挥数据的价值。