合并更新操作期间的增量表日志

问题描述 投票:0回答:1

浏览了文档(https://www.databricks.com/blog/2019/08/21/diving-into-delta-lake-unpacking-the-transaction-log.html)。虽然本文讨论了 Delta Lake 中的事务日志并提供了对添加/删除操作的见解,但它没有明确涵盖 Delta 表在合并/更新操作期间如何管理日志和数据文件的详细信息。

例如,假设有 2 次运行。

  • 在run_1中写入两条数据,对应的_delta_log文件名为00000.json,数据文件file_1.parquet。据了解,增量日志文件包括指向 file_1.parquet 数据文件的添加操作。

  • 随后,在run_2中,生成两条记录:一条记录需要用run_1中的1条记录更新,另一条记录需要插入。在这种情况下日志和数据文件的外观如何展开?日志文件如何跟踪?

Here's the breakdown:

 * Data specific to Run-1 (1 record)
 * Data specific to Run-2 (1 new record)
 * Data updates/merge: One record from the Run-1 file needs to be merged with the Run-2 file.
 During Run-1:
    * log file : 00000.json
    * Data file : file_1.parquet (contains 2 records)

 During Run-2:
   * log file : 00001.json, 00002.json (how latest json log file tracks updated data?)
   * Data file : how many files generated? does it generate 2 files one for new records and one for records to be updated?

我不确定这是否是适合此问题的论坛。如果不是,请引导我找到正确的位置。

apache-spark databricks delta-lake delta
1个回答
0
投票

早期的日志文件保持原样。新的增量日志文件指向新的镶木地板文件,并对旧文件进行添加操作和删除操作

© www.soinside.com 2019 - 2024. All rights reserved.