Delta Lake

1 重点问题

Delta Lake API 支持哪种类型的写操作?

Delta Lake 可以解决哪些需求?

快点清理掉被合并掉的小文件,如何设置安全期参数

2 什么是Delta Lake

整体来看的话,其实就是在数据入hdfs之前多了delta lake这层组件,能够对小文件合并,脏数据处理,api操作上仍旧是sql.
存储之大、ACID、历史回放、文件合并、无服务(对比Hive metastore),都算数据湖方案的特性。也都是数据仓库的痛点
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3 Delta Lake基本功能

数据集 https://www.kaggle.com/wendykan/lending-club-loan-data/data,
loans.csv: 145Cols, 1.11GB unzipped

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4 使用Delta Lake 构建分析管道

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5 Delta Lake 高级功能

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

QA

    1. 数据湖底层存储的方式是怎样的?

底层存储的其实就是数据文件(列式/压缩格式自行选择),存储在哪自行选择,可hdfs/s3/local

    1. 这种方式属于单表点对点的采集,多表同时采集,是否消费kafka多次?

如果是多表的话,需要在 kafka 内建多个 topic

    1. 那如果源端MySQL是做的DDL alter rename column岂不是会将schema污染?

delta lake 有 schema 更新的功能,但是 schema 更新目前还不支持 rename column。而且,目前这套基于 binlog 的方案也不支持将上游的 rename column 反应到 delta lake 中。

    1. delta lake如何保障事务一致性这块能细说一下吗

事务一致性是说数据库中表内的数据满足一定的约束条件,这块内容属于 OLTP 的范畴,delta 并不支持。delta 支持的事务是说保证并发事务之间不相互污染。说的一致性是不是分布式存储的一致性?如果是这个的话,是靠底层存储(HDFS,OSS)等来保证的,这两个一致性的含义不一样。

    1. 上下游删除更新数据,delta lake 怎么保证

上游删除数据,删除数据的动作会被传递到 delta lake 中,delta lake 会同步删除数据。但是以 delta lake 为数据源的 streaming 作业,并不能处理该删除数据的动作,因为删除之前的数据已经被 streaming 处理过了。对于这种情况,以 delta lake 为数据源的 streaming 作业会抛异常。如果要 streaming 作业不抛异常,可以设置忽略 delta lake 中的 delete 事件

    1. deltaLake是怎么处理并发读写的问题的?

delta lake 有乐观机制的事务保证,读事务和写事务之间不存在冲突。写写之间可能会有冲突。这个时候先提交的事务会成功,另外一个失败

    1. 这个delta lake是要在在这些小文件流批处理场景下替代hive吗?

hive 对流不怎么支持,小文件,如果用 hive 事务功能的话,也会有小文件,但是 delta 的小文件更多的是流产生的,量要比 hive 大。你说在这个场景下替代 hive,我觉着这个说法不太准确。delta 的卖点是对湖中的数据做好管理,支持流批一体。与 hive 还是有区别的。当然 delta 可以代替 hive,反之不行。

    1. Delta Lake 是阿里开发的还是开源的 可以读取mysql 数据源写入到阿里的dataworks吗?

开源的。读取数据库的 binlog,写入到 delta lake

    1. delta lake的输出和普通parquet输出目录会多metastote,log灯信息,那么这个输入spark.read.parquet()也可以直接处理吧,需要有什么注意的地方吗?

spark.read.format(“delta”), 不能直接 spark.read.format(“parquet”), 虽然底层是 parquet 文件,但是是两种 datasource。delta 维护了历史版本,因此数据目录下会有多个版本的 parquet 文件。如果把它当成 parquet 直接读的话,数据就不准确了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值