INTEGRITY Документация

R2 Data Catalog

Приёмники R2 Data Catalog записывают обработанные данные из конвейеров в виде Apache Iceberg ↗ таблицы в R2 Data Catalog. Таблицы Iceberg обеспечивают ACID-транзакции, эволюцию схемы и возможности time travel для аналитических нагрузок.

Чтобы создать приёмник R2 Data Catalog, выполните pipelines sinks create и укажите тип приёмника, целевой бакет, пространство имен и имя таблицы:

npx wrangler pipelines sinks create my-sink \
  --type r2-data-catalog \
  --bucket my-bucket \
  --namespace my_namespace \
  --table my_table \
  --catalog-token YOUR_CATALOG_TOKEN

Приёмник создаст указанные пространство имён и таблицу, если они ещё не существуют. Для уже существующих таблиц Iceberg создать приёмник нельзя.

Формат

Приёмники R2 Data Catalog поддерживают только формат Parquet. Формат JSON не поддерживается для таблиц Iceberg.

Параметры сжатия

Настройте сжатие Parquet для оптимальной производительности хранения и запросов:

--compression zstd

Доступные варианты сжатия:

Размер группы строк

Группы строк ↗ представляют собой наборы строк в файле Parquet, которые хранятся вместе и влияют на использование памяти и производительность запросов. Настройте целевой размер группы строк в МБ:

--target-row-group-size 256

Политика пакетирования и ротации

Управляйте моментом записи данных в таблицы Iceberg. Настройте это под свои задачи:

Интервал ротации

Задайте, как часто записываются файлы (по умолчанию: 300 секунд, минимум: 60 секунд):

--roll-interval 60  # Write files every 60 seconds

Минимальный интервал для приёмников R2 Data Catalog составляет 60 секунд: это предотвращает проблемы с уплотнением. Таблицам Iceberg требуется периодическое уплотнение, объединяющее мелкие файлы в более крупные для оптимальной производительности запросов. Слишком частая запись приводит к конфликтам слияния в процессе уплотнения.

Размер ротации

Задайте максимальный размер файла в МБ, при достижении которого создаётся новый файл:

--roll-size 100  # Create new file after 100MB

Аутентификация

Для приёмников R2 Data Catalog требуется API-токен с Права доступа R2 Admin Read & Write. Это разрешение предоставляет sink доступ как к R2 Data Catalog, так и к R2 storage.

--catalog-token YOUR_CATALOG_TOKEN