如何并行插入Delta表

问题描述

我有一个过程,可以在一个强大的群集中并行运行100多个同一databricks笔记本。每个笔记本在其处理结束时都会将大约100行数据写入存储在Azure Gen1 DataLake中的同一Delta Lake表中。我看到插入Delta的时间非常长,因为我只能假设Delta在插入发生时对表进行某种锁定,然后在单个笔记本完成后将其释放,这基于读取https://docs.databricks.com/delta/concurrency-control.html表示没有插入冲突,并且跨多个群集的多个编写器可以同时插入数据。

对于100多个笔记本,每个笔记本100行的插入过程需要3个小时以上。当前导致瓶颈的代码是:

df.write.format(“ delta”)。mode(“ append”)。save(“ ”)

目前该表上没有分区,这可能是一个可能的解决方法,但是在走这条路线之前,在如何并行获取无冲突的插入方面我缺少什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)