Iceberg GCS 和一致性

问题描述

iceberg 是否支持将数据写入 GCS?因为冰山的原子性要根据 https://iceberg.apache.org/java-api-quickstart/ 工作,GCS 应该支持原子重命名,但是从 https://cloud.google.com/storage/docs/gsutil/commands/mv 开始 GCS 重命名不是原子的。如果 iceberg 不支持 GCS,有什么解决原子性的方法

解决方法

Hadoop 表实现是唯一使用重命名的地方,并且 它需要一个支持原子重命名的文件系统。如果您使用的是 像 S3 或 GCS 这样的对象存储,那么你应该使用 HMS 实现或自定义目录而不是 Hadoop 表。

"表不需要重命名,除了使用原子重命名的表 为新的元数据文件实现提交操作。”

据我所知,一切都应该与 GCS 一起工作,无需修改。

GCS 中没有原生原子重命名,它需要移动 + 删除。您可以参考页面https://iceberg.apache.org/spec/#mvcc-and-optimistic-concurrency

来源:http://mail-archives.apache.org/mod_mbox/iceberg-dev/201909.mbox/%3cCAO4re1kFEbVyfZJFiq=CfUDhB7opfT-ntwF7+7_oFt=Kwjk0XQ@mail.gmail.com%3e