开发者社区 问答 正文

Iceberg如何实现upsert语义,特别是在v2格式中?

Iceberg如何实现upsert语义,特别是在v2格式中?

展开
收起
萝卜丝丸子 2024-08-07 19:10:47 266 分享 版权
1 条回答
写回答
取消 提交回答
  • Iceberg在v2格式中通过引入sequence number,并结合position delete file和equality delete file来实现upsert语义。写入时,首先将delete行写入equality delete file,如果delete行在当前事务中被insert过,则将该insert行所在的文件行号和地址写入position delete file。这样,在读取时,可以通过与data file的join操作,应用delete file中的变更,实现upsert效果。image.png
    image.png

    2024-08-07 19:56:17
    赞同 4 展开评论
问答地址: