При создании инстанса Nessie можно задать дополнительные параметры для контроля настроек и оптимизации производительности.
В таблице представлены параметры, которые можно задать в блоке Расширенные настройки Nessie:
Параметр | Значение по умолчанию | Описание |
|---|---|---|
nessie.catalog.object-stores.health-check.enabled | true | Проверка соединения с хранилищем. Выводится как отметка о готовности. |
nessie.catalog.error-handling.throttled-retry-after | PT10S | Интервал повторения запроса при получении от хранилища ответов вида «Повторите позднее». |
nessie.catalog.service.imports.max-concurrent | 32 | Максимальное количество одновременных процессов импорта из хранилищ. |
nessie.catalog.service.tasks.threads.max | -1 | Максимальное число потоков для асинхронных задач. |
nessie.catalog.service.tasks.threads.keep-alive | PT2S | Время поддержания активности потоков для асинхронных фоновых задач. |
nessie.catalog.service.tasks.minimum-delay | PT0.001S | Минимальная задержка асинхронных задач. |
nessie.catalog.service.race.wait.min | PT0.005S | Настройка потоков для асинхронных задач. |
nessie.catalog.service.race.wait.max | PT0.250S | Настройка потоков для асинхронных задач. |
Подробнее о расширенных параметрах Nessie читайте на сайте Project Nessie (en).
В таблицах представлены параметры, которые можно задать в блоках Iceberg параметры по умолчанию и Iceberg приоритетные параметры.
Параметры по умолчанию определяют конфигурацию Iceberg, которая будет применяться по умолчанию для всех сервисов Data Platform, использующих Iceberg.
С помощью приоритетных параметров можно задать конфигурацию Iceberg, которая будет применяться для всех сервисов Data Platform, использующих Iceberg, независимо от того, какие параметры в них указаны.
Параметр | Значение по умолчанию | Описание |
|---|---|---|
read.split.target-size | 134217728 | Итоговый размер в байтах при объединении входных сплитов. |
read.split.metadata-target-size | 33554432 | Итоговый размер в байтах при объединении метаданных входных сплитов. |
read.split.planning-lookback | 10 | Количество контейнеров (bins), учитываемое при объединении входных сплитов. |
read.split.open-file-cost | 4194304 | Затраты на открытие файла, приводятся в байтах и используются как минимальный вес при объединении сплитов. |
read.parquet.vectorization.enabled | true | Использование чтения Parquet. |
read.parquet.vectorization.batch-size | 5000 | Размер пакета при чтении Parquet. |
read.orc.vectorization.enabled | false | Использование чтения ORC. |
read.orc.vectorization.batch-size | 5000 | Размер пакета при чтении ORC. |
Параметр | Значение по умолчанию | Описание |
|---|---|---|
write.format.default | parquet | Формат файлов по умолчанию. Возможные значения: parquet, avro, orc. |
write.delete.format.default | data file format | Формат удаленных файлов по умолчанию. Возможные значения: parquet, avro, orc. |
write.parquet.row-group-size-bytes | 134217728 | Размер групп строк Parquet в байтах. |
write.parquet.page-size-bytes | 1048576 | Размер страниц Parquet в байтах. |
write.parquet.page-row-limit | 20000 | Максимальное количество строк на странице Parquet. |
write.parquet.dict-size-bytes | 2097152 | Размер страницы словаря Parquet в байтах. |
write.parquet.compression-codec | zstd | Метод сжатия Parquet. Возможные значения: zstd, brotli, lz4, gzip, snappy, uncompressed. |
write.parquet.compression-level | null | Уровень сжатия Parquet. |
write.parquet.bloom-filter-enabled.column.col1 | — | Использование фильтра Блума для столбца col1 таблицы Parquet. |
write.parquet.bloom-filter-max-bytes | 1048576 | Максимальное количество байт в битовом наборе фильтра Блума для Parquet. |
write.parquet.bloom-filter-fpp.column.col1 | 0.01 | Вероятность ложноположительного срабатывания фильтра Блума для столбца col1. Возможные значения: числа из строгого интервала от 0.0 до 1.0. |
write.parquet.stats-enabled.column.col1 | — | Сбор статистики для столбца col1. |
write.avro.compression-codec | gzip | Метод сжатия Avro. Возможные значения: gzip, zstd, snappy, uncompressed. |
write.avro.compression-level | null | Уровень сжатия Avro. |
write.orc.stripe-size-bytes | 67108864 | Размер полосы (stripe) ORC по умолчанию. Указывается в байтах. |
write.orc.block-size-bytes | 268435456 | Размер блока файловой системы для файлов ORC. |
write.orc.compression-codec | zlib | Метод сжатия ORC. Возможные значения: zstd, lz4, lzo, zlib, snappy, none. |
write.orc.compression-strategy | speed | Стратегия сжатия ORC. Возможные значения: speed, compression. |
write.orc.bloom.filter.columns | — | Столбцы ORC, для которых должен применяться фильтр Блума. Перечисляются через запятую. |
write.orc.bloom.filter.fpp | 0.05 | Вероятность ложноположительного срабатывания фильтра Блума для ORC. Возможные значения: числа из строгого интервала от 0.0 до 1.0. |
write.location-provider.impl | null | Дополнительная реализация LocationProvider. |
write.metadata.compression-codec | none | Метод сжатия метаданных. Возможные значения: none, gzip. |
write.metadata.metrics.max-inferred-column-defaults | 100 | Максимальное число столбцов, для которых собираются метрики. Столбцы включаются в прямом порядке обхода: сначала поля верхнего уровня, затем все элементы первой вложенной структуры, затем все элементы следующей вложенной структуры и т. д. |
write.metadata.metrics.default | truncate(16) | Режим метрик по умолчанию для всех столбцов таблицы. Возможные значения: none, counts, truncate(<длина>), full. |
write.metadata.metrics.column.col1 | — | Режим метрик для столбца col1. Возможные значения: none, counts, truncate(длина), full. |
write.target-file-size-bytes | 536870912 | Размер генерируемых в целевом хранилище файлов в байтах. |
write.delete.target-file-size-bytes | 67108864 | Размер генерируемых в целевом хранилище удаленных файлов в байтах. |
write.distribution-mode | — | Распределение записываемых данных. Возможные значения: none, hash, range. |
write.delete.distribution-mode | — | Режим распределения данных при выполнении операций удаления. |
write.update.distribution-mode | — | Режим распределения данных при выполнении операций обновления. |
write.merge.distribution-mode | — | Режим распределения данных при выполнении операций смерживания. |
write.wap.enabled | false | Возможность использования паттерна WAP для записи. |
write.summary.partition-limit | 0 | Включение статистики уровня разделов в снапшот, если количество измененных разделов меньше указанного. |
write.metadata.delete-after-commit.enabled | false | Удаление предыдущих отслеживаемых версий файлов с метаданными после каждого коммита в таблицу. |
write.metadata.previous-versions-max | 100 | Максимальное число отслеживаемых предыдущих версий файлов с метаданными. |
write.spark.fanout.enabled | false | Использование fan-out записи в Spark, не требующей кластеризации данных. |
write.object-storage.enabled | false | Запись хеша объектного хранилища в структуру пути к файлам. |
write.object-storage.partitioned-paths | true | Запись иерархии разделов в структуру пути к файлам. |
write.data.path | Расположение таблицы и данных. | Основное расположение файлов с данными. |
write.metadata.path | Расположение таблицы и метаданных. | Основное расположение файлов с метаданными. |
write.delete.mode | copy-on-write | Режим операций удаления (для v.2 и выше). Возможные значения: copy-on-write, merge-on-read. |
write.delete.isolation-level | serializable | Уровень изоляции для операций удаления. Возможные значения: serializable, snapshot. |
write.update.mode | copy-on-write | Режим для операций обновления (для v.2 и выше). Возможные значения: copy-on-write, merge-on-read. |
write.update.isolation-level | serializable | Уровень изоляции для операций обновления. Возможные значения: serializable, snapshot. |
write.merge.mode | copy-on-write | Режим для операций смерживания (для v.2 и выше). Возможные значения: copy-on-write, merge-on-read. |
write.merge.isolation-level | serializable | Уровень изоляции для операций смерживания. Возможные значения: serializable, snapshot. |
write.delete.granularity | partition | Уровень детализации для операций удаления. Возможные значения: partition, file. |
Параметр | Значение по умолчанию | Описание |
|---|---|---|
commit.retry.num-retries | 4 | Количество попыток выполнить коммит. |
commit.retry.min-wait-ms | 100 | Минимальное время ожидания до повторения попытки выполнить коммит. Указывается в миллисекундах. |
commit.retry.max-wait-ms | 60000 | Максимальное время ожидания до повторения попытки выполнить коммит. Указывается в миллисекундах. |
commit.retry.total-timeout-ms | 1800000 | Общий тайм-аут повторных попыток выполнить коммит. Указывается в миллисекундах. |
commit.status-check.num-retries | 3 | Количество попыток повторной проверки статуса коммита. |
commit.status-check.min-wait-ms | 1000 | Минимальное время ожидания до повторения попытки проверить статус коммита. Указывается в миллисекундах. |
commit.status-check.max-wait-ms | 60000 | Максимальное время ожидания до повторения попытки проверить статус коммита. |
commit.status-check.total-timeout-ms | 1800000 | Общий тайм-аут, в течение которого проверка статуса коммита должна завершиться. Указывается в миллисекундах. |
commit.manifest.target-size-bytes | 8388608 | Целевой размер при смерживании файлов манифеста (manifest files). Указывается в байтах. |
commit.manifest.min-count-to-merge | 100 | Минимальное количество манифестов, накапливаемых перед смерживанием. |
commit.manifest-merge.enabled | true | Автоматическое смерживание манифестов. |
history.expire.max-snapshot-age-ms | 432000000 | Максимальный срок хранения снапшотов для таблицы и всех ее веток при истечении срока их действия. Указывается в миллисекундах. |
history.expire.min-snapshots-to-keep | 1 | Минимальное число снапшотов для таблицы и всех ее веток при истечении срока их действия. |
history.expire.max-ref-age-ms | Long.MAX_VALUE | Максимальный срок действия ссылок на снапшоты в ветках, кроме главной. Срок действия ссылок в главной ветке не ограничен. |
Параметр | Значение по умолчанию | Описание |
|---|---|---|
format-version | 2 для версий 1.4.0 и выше | Версия формата таблицы в соответствии со спецификацией. Возможные значения: 1, 2. |
Параметр | Значение по умолчанию | Описание |
|---|---|---|
compatibility.snapshot-id-inheritance.enabled | false | Возможность коммитить снапшоты без явных ID. Если значение параметра format-version больше 1, значение этого параметра всегда true. |
Подробнее о параметрах Iceberg читайте на сайте Apache Iceberg (en).