文件类型
Delta Lake 总共有 4 种类型的文件,前 3 种都是记录 commit log 的,最后 1 种是记录数据的:
/mytable/_delta_log/00000000000000000000.json
/mytable/_delta_log/00000000000000000001.json
/mytable/_delta_log/00000000000000000003.json
/mytable/_delta_log/00000000000000000003.checkpoint.parquet
/mytable/_delta_log/_last_checkpoint
/mytable/part-00000-3935a07c-416b-4344-ad97-2a38342ee2fc.c000.snappy.parquet
当用户提交一个修改表的操作时(例如 INSERT, UPDATE 或 DELETE),会将该操作分解为包括如下所示的一系列步骤并记录到 json 文件中:
- 添加文件:添加一个数据文件,记录文件路径等信息。
- 删除文件:删除一个数据文件,记录文件路径等信息。。
- 更新元数据:更新表的元数据(例如修改表的名称、schema 或分区)。
- 协议:协议的版本信息。
- 提交信息:包含提交所需的信息——执行了什么操作、操作来源以及操作时间。
例如 INSERT 和 UPDATE 的 json file 内容如下: