假设我在空的 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 中删除数据时,它会执行以下操作:
- 识别符合您的删除条件的文件
- 重写识别的文件,删除匹配的记录,并生成新文件
结果,事务日志将包含对所有包含符合条件的记录的文件的 remove
操作,以及对新生成的文件的 add
操作。