Delta lake with Java--读《Delta Lake Up and Running》总结

作者阅读《DeltaLakeUpandRunning》后,概述了书中的主要内容,包括Medallio架构、SparkSession、基本操作、数据操作、性能优化、时间旅行、表结构变化处理和流式数据同步。强调了深入学习Spark特别是PySpark的重要性,以及实践项目经验对于技术掌握的必要性。
摘要由CSDN通过智能技术生成

利用5.1假期读完《Delta Lake Up and Running》,这本书非常适合入门,但不够深入,要想将Delta lake用于实际项目,还是需要从spark开始重新学习。学完一本书总结一下这本书的内容。

第一章 概念介绍,其中第21页的Medallio Architecture架构(金,银,铜)是数据湖架构基础,基本上数据湖的书籍都会提及。

第二章 Delta lake入门,需要掌握如何创建sparksession,如何用sparksession实现数据读写,其实使用的就是spark dataframe api,只是格式要设定为delta,深入一点可以看一下这章后面关于delta lake文件的说明。

第三章 Delta lake最基本操作,包括建库,建表,描述表结构,插入数据,查询数据,可以通过3种方式实现,分别是spark sql+sql语句,spark dataframe api,deltatable api,个人觉得用sql语句比较简单。

第四章 Delta lake最基本的数据操作,包括删除,更新,merges,个人理解只能通过sql语句和deltatable api来实现,其中merges比较复杂。

第五章 性能调优,调优的方法有:分区,压缩文件,zorder by, liquid clustering。其中分区觉得比较有效,liquid clustering还是实验阶段,压缩文件,zorder by需要定时触发而且每次触发都会耗时,实际应用应该写一个后台任务在没有任何操作的时候来自动触发。

第六章 时间旅行,主要是利用Delta lake能保存数据版本这一特点来实现。另外Delta lake 不会清除历史版本,需要定时运行VACUUM命令来清理。最后捕捉行记录的变化。以上操作均可以通过sql语句实现。

第七章 表结构变化处理,主要是两类处理,一类是固定结构,遇到不一致的就报错。另外一个类就是结构可以根据数据变化,要实现结构自动变化主要在数据写入的时候,设置option("mergeSchema",true)。

第八章 如何使用流实现数据同步,书中只实现了插入数据同步,没有实现更新数据同步,但官网文档上有说明,目前删除数据好像是无法通过流实现同步。

第九章 Delta lake数据分享,这章比较简单,介绍了一些直接读取delta lake文件的方法,还不如官方文档详细。

第十章 给出了一个完整的数据湖架构,后面如果真的能用于生产可以参考。

读完了整本书,有两个感觉:

1、还是要深入学习一下spark,为了后面能兼容AI,还是从pyspark入手,后面计划学习一下pyspark,然后再看看pyspark如何与pytorch等深度学习架构融合。

2、学习技术只是入门,具体还要以项目来验证,因为只有通过项目才能挖掘出一下书本没有说的情况,所以还是要结合实际,希望后面能把Delta lake用于实际项目,我始终相信机会总是留给有准备的人。

最后把最近几天写的代码公开,欢迎高手指教,谢谢。
kengan1013/Detla-lake-with-java

  • 9
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值