python - Delta lake 事务日志批量添加记录和删除任何记录

假设我在空的 delta table 中插入了一条记录,然后创建了一个 parquet 文件并创建了一个 transaction00.json 日志。 transaction00.json 将包含,

transaction00.json -- {add- parquet1 file name}

我又插入了一条记录,然后将创建一个新的镶木地板文件,transaction01.json 将包含 -

{add -  parquet2 file name}

现在我从 delta table 中删除第二条记录,然后 transaction02.json 将创建并包含

{remove-   parquet2 file name}
{add- parquet3 file name}

如果我一次插入 20 条记录,然后我删除了 5 条记录呢?我知道只会为 20 条记录和一个 transaction.json 日志文件创建一个 parquet 文件,但不确定删除操作。

如果您删除 5 条记录,您能否解释一下事务日志将包含哪些内容?

回答1

当您从 Delta 中删除数据时,它会执行以下操作:

  1. 识别符合您的删除条件的文件
  2. 重写识别的文件,删除匹配的记录,并生成新文件

结果,事务日志将包含对所有包含符合条件的记录的文件的 remove 操作,以及对新生成的文件的 add 操作。

相似文章

随机推荐

最新文章