СОЗДАНИЕ ИНДЕКСА ФИЛЬТРА БЛУМА

Область применения:проверка помечено да Databricks SQL проверка помечено да Databricks Runtime

Создает индекс фильтра Блума для новых или переписанных данных; он не создает фильтры Блума для существующих данных. Команда завершается ошибкой, если имя таблицы или один из столбцов не существует. Если для столбца включена фильтрация Блума, существующие параметры фильтра Блума заменяются новыми параметрами.

Синтаксис

CREATE BLOOMFILTER INDEX
ON [TABLE] table_name
FOR COLUMNS( { columnName1 [ options ] } [, ...] )
[ options ]

options
  OPTIONS ( { key1 [ = ] val1 } [, ...] )

Параметры

Хотя невозможно создать индекс фильтра Блума для уже записанных данных, команда OPTIMIZE обновляет фильтры Блума для реорганизованных данных. Таким образом, вы можете заполнить фильтр Блума, выполнив в OPTIMIZE таблице следующее:

  • Если вы ранее не оптимизировали таблицу.
  • С другим размером файла, требуя, чтобы файлы данных были повторно записаны.
  • При использовании ZORDER (или другого ZORDER), если он уже существует, требуется перезапись файлов данных.

Фильтр Блума можно настроить, определив параметры на уровне столбца или таблицы:

  • fpp: ложноположительный результат вероятности. Желаемая частота ложноположительных результатов для каждого записанного фильтра Блума. Это влияет на количество битов, необходимых для вставки одного элемента в фильтр Блума, и влияет на размер фильтра Блума. Значение должно быть больше 0 и меньше или равно 1. Значение по умолчанию — 0,1, для которого требуется 5 бит на элемент.
  • numItems: количество отдельных элементов, которые могут содержаться в файле. Этот параметр важен для качества фильтрации, так как он влияет на общее количество битов, используемых в фильтре Блума (количество элементов — количество битов на элемент). Если этот параметр неверен, фильтр Блума либо заполняется очень редко, пустая дисковое пространство и замедляя запросы, которые должны скачивать этот файл, либо он слишком заполнен и менее точен (более высокий FPP). Значение должно быть больше 0. Значение по умолчанию — 1 миллион элементов.
  • maxExpectedFpp: максимальная ожидаемая вероятность ложноположительных результатов, при которой фильтр Блума записывается на диск. Если ожидаемый FPP больше этого порогового значения, избирательность фильтра Блума слишком низка; время и ресурсы, затрачиваемое на использование фильтра Блума, перевешивают его полезность. Значение должно находиться в диапазоне от 0 до 1. Значение по умолчанию — 1.0 (отключено).

Эти параметры играют определенную роль только при записи данных. Эти свойства можно настроить на различных иерархических уровнях: операция записи, уровень таблицы и уровень столбца. Уровень столбцов имеет приоритет над уровнями таблицы и операций, а уровень таблицы имеет приоритет над уровнем операций.

См. раздел Индексы фильтров Блума.