Перейти к содержимому
Последнее обновление

Список переменных сеанса

Эта страница находится в разработке и пока не завершена

На этой странице собраны переменные сеанса Doris. Сейчас здесь описаны только переменные, которые были добавлены, получили новое значение по умолчанию или были удалены в последних версиях; это пока не полный справочник. Если переменная здесь не указана, используйте SHOW VARIABLES LIKE '<pattern>', чтобы узнать её текущее значение.

О классификации, области действия и настройке переменных см. раздел Переменные.

Просмотр и настройка​

-- Inspect
SHOW VARIABLES LIKE 'enable_file_scanner_v2';

-- Current session only
SET enable_file_scanner_v2 = false;

-- Globally (applies to sessions created afterwards)
SET GLOBAL enable_file_scanner_v2 = false;

Изменения в 4.1.5​

КатегорияПеременные
Добавленыenable_hyperscan_fallback
Изменено значение по умолчаниюenable_file_cache: с false на true
Исправлено поведениеprofile_level передаётся на Master FE; return_object_data_as_binary различает результаты SQL Cache

Изменения в 4.1.4​

КатегорияПеременные
Добавленыenable_file_scanner_v2, enable_external_scan_task_reuse, file_split_size_on_fe, file_split_size_on_be, enable_expr_zonemap_filter, enable_local_exchange_before_agg, enable_local_exchange_before_streaming_agg, runtime_filter_broadcast_join_producer_num, runtime_filter_tree_publish_max_send_bytes, bucket_shuffle_downgrade_ratio, eager_aggregation_on_broadcast_join, eager_agg_broadcast_row_count, force_eager_agg_hint, enable_topn_lazy_mat_phase2_no_write_file_cache, file_cache_query_limit_bytes, file_presigned_url_ttl_seconds, force_forward_all_queries
Изменено значение по умолчанию или семантикаmax_scanners_concurrency, enable_runtime_filter_partition_prune, enable_nereids_distribute_planner
Удаленыeager_aggregation_on_join, plan_nereids_dump

Сканирование внешних таблиц​

enable_file_cache​

ПараметрЗначение
ТипBoolean
По умолчаниюtrue (false до 4.1.5)
ВерсияЗначение по умолчанию изменено в 4.1.5

Определяет, используют ли запросы File Cache. Одноимённый параметр конфигурации BE также должен быть включён; включение только переменной сеанса не приводит к использованию кеша, если параметр BE имеет значение false. В 4.1.5 оба значения по умолчанию изменены на true. После обновления проверьте явно заданные настройки и сохранённые глобальные переменные. Сведения о путях, ёмкости и ограничениях см. в разделе File Cache.

enable_file_scanner_v2​

ПараметрЗначение
ТипBoolean
По умолчаниюtrue
ВерсияДобавлена в 4.1.4

Определяет, используется ли File Scanner V2 для сканирования внешних файлов. Когда переменная включена, FileScanNode использует новый нативный движок сканирования в поддерживаемых им сценариях запросов, охватывающих форматы Parquet, ORC, CSV и JSON, а также форматы таблиц Hive, Iceberg, Paimon и Hudi. Каталоги JDBC и системные таблицы Iceberg по-прежнему используют прежний механизм сканирования.

Установите значение false, чтобы сравнить поведение, если подозреваете, что проблема с запросом связана с новым сканером. См. Настройка запросов к озеру данных.

enable_external_scan_task_reuse​

ПараметрЗначение
ТипBoolean
По умолчаниюtrue
ВерсияДобавлена в 4.1.4

Определяет, переиспользуют ли эквивалентные узлы сканирования внешних таблиц в пределах одного оператора сформированные ими фрагменты сканирования. Когда переменная включена, при самосоединении или многократном обращении к CTE над одной и той же внешней таблицей фрагменты сканирования больше не планируются повторно, что сокращает время планирования на FE. Применяется к Hive, Hudi, Iceberg и Paimon.

file_split_size_on_fe​

ПараметрЗначение
ТипLong (байты)
По умолчанию536870912 (512 MB)
ВерсияДобавлена в 4.1.4

Целевой размер крупных фрагментов файлов, формируемых FE, когда BE может дополнительно разделить их. Неположительное значение отключает дополнительное разбиение на стороне BE и возвращает прежнюю стратегию разбиения на FE.

file_split_size_on_be​

ПараметрЗначение
ТипLong (байты)
По умолчанию67108864 (64 MB)
ВерсияДобавлена в 4.1.4

Целевой размер мелких фрагментов сканирования, которые BE формирует на уровне row group в Parquet или stripe в ORC. Поскольку row group или stripe неделимы, размер отдельного фрагмента может превышать целевой.

enable_expr_zonemap_filter​

ПараметрЗначение
ТипBoolean
По умолчаниюfalse
ВерсияДобавлена в 4.1.4

Управляет фильтрацией выражений с помощью ZoneMap в сканерах, которые учитывают эту переменную.

File Scanner V2 всегда выполняет безопасный вариант фильтрации выражений с помощью ZoneMap и не зависит от этой переменной.

enable_runtime_filter_partition_prune​

ПараметрЗначение
ТипBoolean
По умолчаниюtrue
ВерсияСемантика изменена в 4.1.4

Управляет отсечением секций с помощью runtime filter в сканерах, которые учитывают эту переменную.

Начиная с 4.1.4 File Scanner V2 всегда выполняет безопасный вариант отсечения секций, поэтому установка этой переменной в false не влияет на File Scanner V2.

max_scanners_concurrency​

ПараметрЗначение
ТипInt
По умолчанию8 (4 до 4.1.4)
ВерсияЗначение по умолчанию изменено в 4.1.4

Максимальная степень параллелизма сканирования для ScanNode. В 4.1.4 значение по умолчанию увеличено с 4 до 8, чтобы повысить пропускную способность, когда потоки сканирования становятся узким местом. Верните значение 4, чтобы сохранить прежнее поведение.

Планирование и выполнение запросов​

enable_nereids_distribute_planner​

ПараметрЗначение
ТипBoolean
По умолчаниюtrue
ВерсияПоведение при обновлении изменено в 4.1.4

Определяет, используется ли распределённый планировщик Nereids.

В серии 4.1 начиная с 4.1.4 миграция устанавливает глобальное значение по умолчанию в true только при variable_version < 400, обычно при обновлении с 3.x, даже если ранее было сохранено false. При обновлении кластера, уже работающего на 4.x, это значение повторно не меняется. Если после обновления изменится распределение плана, выполните SET GLOBAL enable_nereids_distribute_planner = false;, чтобы вернуть прежнее поведение.

runtime_filter_broadcast_join_producer_num​

ПараметрЗначение
ТипInt
По умолчанию3
ВерсияДобавлена в 4.1.4

Максимальное количество узлов BE, создающих каждый runtime filter при broadcast join. Значение, меньшее или равное 0, снимает ограничение.

При broadcast join каждый BE со стороны build создаёт одинаковое содержимое runtime filter, поэтому ограничение количества таких узлов заметно снижает накладные расходы RPC в крупных кластерах. Это влияет только на распределённое планирование Nereids; прежний механизм Coordinator сохраняет существующее поведение.

runtime_filter_tree_publish_max_send_bytes​

ПараметрЗначение
ТипLong (байты)
По умолчанию268435456 (256 MB)
ВерсияДобавлена в 4.1.4

Максимальное количество байтов, передаваемых одним вызовом RPC при публикации глобального runtime filter. При превышении этого порога Doris переключается на древовидную (многоуровневую) публикацию, чтобы узел слияния больше не отправлял один и тот же большой фильтр каждому узлу сканирования.

Значение 0 отключает древовидную публикацию и возвращает прямую публикацию. Значение должно быть больше или равно 0, иначе установить его не удастся.

bucket_shuffle_downgrade_ratio​

ПараметрЗначение
ТипDouble
По умолчанию0.8
ВерсияДобавлена в 4.1.4 (экспериментальная возможность)

Заменяет bucket shuffle join обычным shuffle join, когда общее количество бакетов на стороне базовой таблицы меньше произведения общего количества экземпляров на этот коэффициент. При значении, меньшем или равном 0, такая замена никогда не выполняется. Значение по умолчанию 0.8 сохраняет исходное поведение.

enable_local_exchange_before_agg​

ПараметрЗначение
ТипBoolean
По умолчаниюtrue
ВерсияДобавлена в 4.1.4

Определяет, добавляется ли local exchange перед оператором агрегации.

предупреждение

Отключать это поведение не рекомендуется. До 4.1.4 его отключение могло приводить к неверным результатам при последовательном local exchange или local exchange без хеширования; эта проблема исправлена в 4.1.4.

enable_local_exchange_before_streaming_agg​

ПараметрЗначение
ТипBoolean
По умолчаниюfalse
ВерсияДобавлена в 4.1.4

Определяет, добавляется ли local exchange перед оператором потоковой агрегации.

eager_aggregation_on_broadcast_join​

ПараметрЗначение
ТипBoolean
По умолчаниюtrue
ВерсияДобавлена в 4.1.4

Определяет, разрешена ли eager aggregation (проталкивание агрегации) при broadcast join.

eager_agg_broadcast_row_count​

ПараметрЗначение
ТипInt
По умолчанию250000
ВерсияДобавлена в 4.1.4

Порог количества строк, по которому определяется, следует ли применять eager aggregation при broadcast join.

force_eager_agg_hint​

ПараметрЗначение
ТипString
По умолчанию"" (пустая строка)
ВерсияДобавлена в 4.1.4

Подсказка с шаблоном сопоставления, принудительно включающая проталкивание eager aggregation; предназначена для тестирования и отладки. Не рекомендуется для использования в рабочей среде.

Формат: <func>:<qualifier.column | *>=<push|nopush>, записи разделяются символом ;:

SET force_eager_agg_hint = 'sum:t1.a=push; sum:t2.a=nopush; count:*=push';

Обратите внимание: записи сопоставляются с каждой агрегатной функцией, но результат применяется к текущей рассматриваемой ветви или поддереву проталкивания, а не к отдельной агрегатной функции независимо от остальных. Если хотя бы одна совпавшая запись в ветви имеет значение nopush, эта ветвь не проталкивается; в противном случае, если хотя бы одна совпавшая запись имеет значение push, для этой ветви может быть принудительно включено проталкивание, а остальные агрегатные функции в той же ветви следуют решению, принятому для всей ветви.

force_forward_all_queries​

ПараметрЗначение
ТипBoolean
По умолчаниюfalse
ВерсияДобавлена в 4.1.4

Когда переменная включена, каждый запрос текущего сеанса перенаправляется на master FE. Это полезно при диагностике проблем, вызванных несогласованностью метаданных между master FE и follower FE. Эта переменная является аналогом одноимённого параметра конфигурации FE на уровне сеанса.

Кеш​

file_cache_query_limit_bytes​

ПараметрЗначение
ТипLong (байты)
По умолчанию-1
ВерсияДобавлена в 4.1.4

Максимальный объём данных в байтах, прочитанных при удалённом сканировании, который один запрос может записать в файловый кеш через механизм read-through на каждом BE:

  • меньше 0: без ограничений (функция отключена);
  • равно 0: запрос никогда не записывает данные в файловый кеш;
  • больше 0: запрос прекращает запись в файловый кеш, когда суммарный объём данных, прочитанных им при удалённом сканировании, достигает этого порога.

Используйте эту переменную, чтобы разовое сканирование большого объёма данных не вытесняло часто используемые данные из кеша.

enable_topn_lazy_mat_phase2_no_write_file_cache​

ПараметрЗначение
ТипBoolean
По умолчаниюfalse
ВерсияДобавлена в 4.1.4

Когда переменная включена, чтение на фазе 2 отложенной материализации TopN при промахе файлового кеша обращается напрямую к удалённому хранилищу и не записывает отсутствующий диапазон обратно в файловый кеш. Это полезно, когда чтение на фазе 2 носит случайный характер, а доля попаданий в кеш низка.

Функции AI​

file_presigned_url_ttl_seconds​

ПараметрЗначение
ТипLong (секунды)
По умолчанию3600
ВерсияДобавлена в 4.1.4

Срок действия предварительно подписанного URL, создаваемого для объекта в S3-совместимом хранилище в мультимодальных сценариях EMBED(). Увеличьте его, если медиафайлы велики и поставщику требуется больше времени для их получения. См. EMBED.

Профилирование и вывод результатов​

profile_level​

ПараметрЗначение
ТипInteger (1, 2 или 3)
По умолчанию2
ВерсияПоведение при перенаправлении исправлено в 4.1.5

Управляет детализацией Query Profile: 1 собирает объединённые счётчики, 2 выводит подробную информацию, а 3 включает дополнительные счётчики, которые могут влиять на производительность. Начиная с 4.1.5 запросы, перенаправляемые на Master FE, сохраняют уровень текущего сеанса. См. Query Profile.

return_object_data_as_binary​

ПараметрЗначение
ТипBoolean
По умолчаниюfalse
ВерсияРазграничение записей SQL Cache исправлено в 4.1.5

Определяет, возвращаются ли в результатах MySQL необработанные двоичные данные для объектов HLL, BITMAP и QUANTILE_STATE. При значении false для этих объектов возвращается NULL. Начиная с 4.1.5 эта переменная учитывается при разграничении записей кеша результатов SQL, чтобы сеансы с включённым двоичным выводом не переиспользовали результаты NULL, закешированные сеансами с отключённым двоичным выводом.

Регулярные выражения​

enable_hyperscan_fallback​

ПараметрЗначение
ТипBoolean
По умолчаниюtrue
ВерсияДобавлена в 4.1.5

Определяет, следует ли переходить к RE2, когда Hyperscan не может скомпилировать шаблон. При значении true Doris пробует RE2; при значении false возвращает ошибку компиляции Hyperscan. Такой переход не добавляет поддержку синтаксиса, который не поддерживается самим RE2. Эта переменная управляет другим механизмом, отличным от enable_extended_regex, который включает расширенный синтаксис Boost.Regex. См. REGEXP.

Удалённые переменные​

ПеременнаяУдалена в версииПримечания
eager_aggregation_on_join4.1.4Стратегия проталкивания агрегации переработана; вместо этой переменной используйте eager_aggregation_on_broadcast_join и eager_agg_broadcast_row_count. Удалите переменную из всех скриптов, в которых она всё ещё задаётся
plan_nereids_dump4.1.4Теперь это внутреннее состояние, которое включается только при воспроизведении minidump; его больше нельзя задать с помощью SET