Iceberg GCS и согласованность

Поддерживает ли айсберг запись данных в GCS? Поскольку для атомарной работы айсберга согласно https://iceberg.apache.org/java-api-quickstart/, GCS должен поддерживать атомарное переименование, однако из https://cloud.google.com/storage/docs/gsutil/ Переименования команд / mv в GCS не являются атомарными. Каковы обходные пути для обработки атомарности, если айсберг не поддерживает GCS

1 ответ

Реализация таблицы 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

Другие вопросы по тегам