YT-прагмы {#yt}

YT-прагмы по времени своего действия разделяются на статические и динамические. Статические прагмы инициализируются один раз на самой ранней стадии обработки запроса. Если статическую прагму указать несколько раз в запросе, то будет использоваться только последнее её заданное значение. Значения динамических прагм инициализируются уже на стадии непосредственно исполнения запроса, после его оптимизации и построения плана исполнения. Указанное значение действует до следующей такой же прагмы или до конца запроса. Только для динамических прагм можно сбросить их значение в значения по умолчанию через присваивание default.

Все динамические прагмы и некоторые статические позволяют задать per-cluster настройки через синтаксис PRAGMA <cluster_name>.<paragma_name>. Например, PRAGMA foo.TmpFolder позволяет задать путь к временной директории для YTsaurus-кластера foo.

Все прагмы, влияющие на оптимизаторы запроса, являются статическими, так как значения динамических прагм на этой стадии ещё не вычислено.

yt.InferSchema / yt.ForceInferSchema

Тип значения По умолчанию Статическая /
динамическая
Число от 1 до 1000 Статическая

Вывод схемы данных по содержимому первых строк таблиц. Если PRAGMA указана без значения, то подразумевается, что по одной первой строке. Если указано несколько строк и типы данных для колонки встречаются разные, то они расширяются вплоть до Yson.

InferSchema включает вывод схемы данных только для тех таблиц, где она совсем не указана в метаданных. При ForceInferSchema схема данных из метаданных игнорируется, за исключением списка ключевых колонок для сортированных таблиц.

В дополнение к обнаруженным колонкам генерируется колонка-словарь _other (строка на строку) со значениями тех колонок, которые не присутствовали на первой строке, но нашлись где-то дальше. Это позволяет использовать на таких таблицах WeakField.

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

yt.InferSchemaTableCountThreshold

Тип значения По умолчанию Статическая /
динамическая
Положительное число 50 Статическая

Если число таблиц, для которых схема выводится по содержимому, превышает указанное значение, то выведение схем запускается в виде отдельной операции на YTsaurus, что может быть значительно быстрее.

yt.IgnoreWeakSchema

Тип значения По умолчанию Статическая /
динамическая
Флаг false Статическая

Игнорировать weak схему таблицы (порожденную сортировкой несхематизированной таблицы по некоторому набору полей).

Совместно с yt.InferSchema позволяет выводить схему по данным для таких таблиц.

yt.IgnoreYamrDsv

Тип значения По умолчанию Статическая /
динамическая
Флаг false Статическая

Игнорировать _format=yamred_dsv, если он указан в метаданных входной таблицы.

yt.IgnoreTypeV3

Тип значения По умолчанию Статическая /
динамическая
Флаг false Статическая

При чтении таблиц со схемой type_v3 все поля со сложными типами будут видны в запросе как Yson поля. К сложным типам относятся все не-data типы и data-типы с опциональностью больше одного уровня.

yt.StaticPool

Тип значения По умолчанию Статическая /
динамическая
Строка Логин текущего пользователя Статическая, per-cluster

Выбор вычислительного pool в scheduler для всех map-reduce операций в запросе (включая evaluation стадию).

yt.Pool

Тип значения По умолчанию Статическая /
динамическая
Строка yt.StaticPool если задан или логин текущего пользователя Динамическая

Выбор вычислительного pool в scheduler для регулярных операций запроса.

yt.Owners

Тип значения По умолчанию Статическая /
динамическая
Строка со списком логинов, разделённых любым из символов: запятая, точка с запятой, пробел или | Динамическая

Позволяет выдавать права на управление создаваемыми MapReduce операциями в YTsaurus (отмена, пауза, run-job-shell и т.п.) другим пользователям помимо владельца YQL операции.

yt.OperationReaders

Тип значения По умолчанию Статическая /
динамическая
Строка со списком логинов, разделённых любым из символов: запятая, точка с запятой, пробел или | Динамическая

Позволяет выдавать права на чтение создаваемых MapReduce операций в YTsaurus другим пользователям помимо владельца YQL операции.

yt.Auth

Тип значения По умолчанию Статическая /
динамическая
Строка Статическая

Использовать аутентификационные данные, отличные от дефолтных.

yt.DefaultMaxJobFails

Тип значения По умолчанию Статическая /
динамическая
Положительное число 5 Статическая

Количество упавших MapReduce-джобов, при достижении которого повторные попытки выполнения запроса прекращаются и запрос признается не успешным.

yt.DefaultMemoryLimit

Тип значения По умолчанию Статическая /
динамическая
Байты 512M Динамическая

Ограничение потребляемой памяти джобами в байтах, которое заказывается при запуске MapReduce-операций.

Допустимы суффиксы K, M и G для указания в килобайтах, мегабайтах и гигабайтах, соответственно.

yt.DataSizePerJob / yt.DataSizePerMapJob

Тип значения По умолчанию Статическая /
динамическая
Байты 2G Динамическая

Управление нарезкой MapReduce-операций на джобы, чем больше число, тем меньше джобов. Для вычислительно затратных джобов значение рекомендуется уменьшать, а для бегло просматривающих много данных (в частности, user_sessions) — увеличивать.

Допустимы суффиксы K, M и G для указания в килобайтах, мегабайтах и гигабайтах, соответственно.

yt.DataSizePerSortJob

Тип значения По умолчанию Статическая /
динамическая
Байты - Динамическая

Управление нарезкой sort-джобов в MapReduce-операциях.

Допустимы суффиксы K, M и G для указания в килобайтах, мегабайтах и гигабайтах, соответственно.

yt.DataSizePerPartition

Тип значения По умолчанию Статическая /
динамическая
Байты 1G Динамическая

Управление размером партиций в MapReduce операциях.

Допустимы суффиксы K, M и G для указания в килобайтах, мегабайтах и гигабайтах, соответственно.

yt.MaxJobCount

Тип значения По умолчанию Статическая /
динамическая
Положительное целое число 16384 Динамическая

Максимальное количество джобов в рамках одной YTsaurus операции. Применяется только для одностадийных операций map, reduce, merge и т. д. При одновременном указании yt.DataSizePerJob и yt.MaxJobCount нарезка джобов будет выполняться с учетом yt.DataSizePerJob, и даже если полученное значение N превысит yt.MaxJobCount, то будет запущено N джобов, а yt.MaxJobCount повлияет только на то, будут ли сплититься джобы, после того как их количество достигнет некоторого порога.

yt.UserSlots

Тип значения По умолчанию Статическая /
динамическая
Положительное число Не ограничено Динамическая

Ограничение сверху на число выполняющихся параллельно джобов в рамках MapReduce операции.

yt.DefaultOperationWeight

Тип значения По умолчанию Статическая /
динамическая
Число с плавающей точкой 1.0 Динамическая

Вес всех запускаемых MapReduce-операций в рамках выбранного вычислительного pool.

yt.TmpFolder

Тип значения По умолчанию Статическая /
динамическая
Строка //tmp/yql/<login> Статическая, per-cluster

Директория для размещения временных таблиц и файлов.

yt.TablesTmpFolder

Тип значения По умолчанию Статическая /
динамическая
Строка //tmp/yql/<login> Статическая, per-cluster

Директория для размещения временных таблиц. Имеет приоритет над yt.TmpFolder.

yt.TempTablesTtl

Тип значения По умолчанию Статическая /
динамическая
Интервал времени с поддержкой суффиксов s/m/h/d Статическая

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

yt.FileCacheTtl

Тип значения По умолчанию Статическая /
динамическая
Интервал времени с поддержкой суффиксов s/m/h/d 7d Статическая

Позволяет управлять TTL файлового кэша YTsaurus. Значение 0 отключает использование TTL для файлового кеша.

yt.IntermediateAccount

Тип значения По умолчанию Статическая /
динамическая
Имя account в YTsaurus intermediate Динамическая

Позволяет использовать свой account для промежуточных данных внутри операции слитного MapReduce.

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

Если указана PRAGMA yt.TmpFolder, то по умолчанию вместо общего берется account, который указан на временной директории.

yt.IntermediateReplicationFactor

Тип значения По умолчанию Статическая /
динамическая
Число от 1 до 10 Динамическая

Фактор репликации промежуточных данных.

yt.PublishedReplicationFactor / yt.TemporaryReplicationFactor

Тип значения По умолчанию Статическая /
динамическая
Число от 1 до 10 Динамическая

Фактор репликации создаваемых через YQL таблиц.

Published являются таблицы, указанные в INSERT INTO все остальные считаются временными (Temporary).

yt.ExternalTx

Тип значения По умолчанию Статическая /
динамическая
Строка Статическая, per-cluster

Выполнение операции в рамках уже запущенной вне YQL транзакции. В значение передается её идентификатор.

Все необходимые для работы запроса директории создаются в рамках указанной транзакции, что может приводить к конфликтам при попытках писать в ранее не существующую директорию из двух запросов с разными ExternalTx.

yt.OptimizeFor

Тип значения По умолчанию Статическая /
динамическая
Строка: lookup / scan scan Динамическая

Управление атрибутом optimize_for на создаваемых таблицах.

yt.PublishedCompressionCodec / yt.TemporaryCompressionCodec

Тип значения По умолчанию Статическая /
динамическая
Строка, см. документацию zstd_5 Динамическая

Настройки компрессии создаваемых через YQL таблиц.

Published являются таблицы, указанные в INSERT INTO все остальные считаются временными (Temporary). Также кодек, указанный как Temporary, используется для промежуточных данных в рамках одной YTsaurus операции, например слитного MapReduce.

yt.PublishedErasureCodec / yt.TemporaryErasureCodec

Тип значения По умолчанию Статическая /
динамическая
Строка, см. документацию none Динамическая

Erasure кодирование по умолчанию всегда выключено, для включения рекомендуется использовать значение lrc_12_2_2.

Разница между Published и Temporary аналогична CompressionCodec.

yt.NightlyCompress

Тип значения По умолчанию Статическая /
динамическая
Флаг - Динамическая

Управляет процессом фонового сжатия таблиц, чтобы они занимали меньше места.

Значение true устанавливает на таблице атрибут @force_nightly_compress равным true.
Значение false устанавливает на таблице атрибут @nightly_compression_settings с дочерним значением enabled равным false.

Настройка действует только на вновь создаваемые YQL запросом таблицы (а также на перезаписываемые с помощью INSERT INTO ... WITH TRUNCATE).
Настройка не действует на временные таблицы.

yt.ExpirationDeadline / yt.ExpirationInterval

Тип значения По умолчанию Статическая /
динамическая
ExpirationDeadline: момент времени в формате ISO 8601. ExpirationInterval: интервал времени с поддержкой суффиксов s/m/h/d, в течение которого к узлу должны отсутствовать обращения. Динамическая

Позволяет управлять TTL создаваемых операцией таблиц.

yt.MaxRowWeight

Тип значения По умолчанию Статическая /
динамическая
Байты, до 128M 16M Динамическая

Увеличить ограничение на максимальную длину строки таблицы в yt.

yt.MaxKeyWeight

Тип значения По умолчанию Статическая /
динамическая
Байты, до 256K 16K Динамическая

Увеличить ограничение на максимальную длину ключей таблицы в YTsaurus, по которым она отсортирована.

yt.UseTmpfs

Тип значения По умолчанию Статическая /
динамическая
Флаг false Динамическая

Подключает tmpfs к папке _yql_tmpfs в песочнице MapReduce-джобов. Не рекомендуется к использованию.

yt.ExtraTmpfsSize

Тип значения По умолчанию Статическая /
динамическая
Байты Динамическая

Возможность увеличить размер tmpfs в дополнение к суммарному размеру всех явно используемых файлов (указывается в мегабайтах). Может быть полезно, если вы из UDF создаете новые файлы локально. Без UseTmpfs игнорируется.

yt.PoolTrees

Тип значения По умолчанию Статическая /
динамическая
Строка со списком имён деревьев, разделённых любым из символов: запятая, точка с запятой, пробел или ` `

Возможность выбирать отличные от стандартного «деревья pool'ов».

yt.TentativePoolTrees

Тип значения По умолчанию Статическая /
динамическая
Строка со списком имён деревьев, разделённых любым из символов: запятая, точка с запятой, пробел или | Динамическая

Возможность «осторожно» распространить операции на отличные от стандартных «деревья pool'ов».

yt.TentativeTreeEligibilitySampleJobCount

Тип значения По умолчанию Статическая /
динамическая
Положительное число Динамическая

Имеет эффект только при наличии прагмы yt.TentativePoolTrees. Задаёт количество джобов в семпле.

yt.TentativeTreeEligibilityMaxJobDurationRatio

Тип значения По умолчанию Статическая /
динамическая
Число с плавающей точкой Динамическая

Имеет эффект только при наличии прагмы yt.TentativePoolTrees. Задаёт коэффициент допустимого замедления джобов в альтернативном «дереве pool'ов».

yt.TentativeTreeEligibilityMinJobDuration

Тип значения По умолчанию Статическая /
динамическая
Миллисекунды Динамическая

Имеет эффект только при наличии прагмы yt.TentativePoolTrees. Задаёт минимальную среднюю длительность джобов в альтернативном «дереве pool'ов».

yt.UseDefaultTentativePoolTrees

Тип значения По умолчанию Статическая /
динамическая
Флаг Динамическая

Задаёт значение опции use_default_tentative_pool_trees в спеке операции.

yt.QueryCacheMode

Тип значения По умолчанию Статическая /
динамическая
Строка: disable / readonly / refresh / normal normal Статическая

Кеш работает на уровне MapReduce операций:

  • В режиме disable кеш отключен.
  • readonly — использовать только на чтение, не писать в него.
  • refresh — использовать только на запись, не читать из него; при ошибке параллельной записи в кеш из другой транзакции выдать ошибку запроса.
  • normal — использовать и на запись, и на чтение; при ошибке параллельной записи в кеш из другой транзакции считать что записаны те же данные и продолжать работу.
    В режимах normal и refresh результат каждой их них дополнительно сохраняется по пути //<tmp_folder>/query_cache/<hash>, где:
  • tmp_folder — по умолчанию tmp/<login>, либо значение PRAGMA yt.TmpFolder;
  • hash — хеш от значимых метаданных входных таблиц и выполнявшейся в операции логической программы.
    В режимах normal и readonly перед самым запуском MapReduce операции для неё вычисляется такой путь и в зависимости от выбранного режима кеширования операция либо запускается, либо мгновенно отмечается успешной с использованием готовой таблицы вместо её результата. Если в выражении попадается недетерминированные функции Random/RandomNumber/RandomUuid/CurrentUtcDate/CurrentUtcDatetime/CurrentUtcTimestamp, то кеш для такой операции отключается. На данный момент все UDF считаются детерминированными, т.е. не мешают кешированию. Если нужно использовать недетерминированную UDF, то нужно ввести для неё дополнительный аргумент типа Uint64 и передать в него CurrentUtcTimestamp() — достаточно без аргументов.

yt.QueryCacheIgnoreTableRevision

Тип значения По умолчанию Статическая /
динамическая
Флаг false Статическая

Если флаг установлен, то при вычислении хеша из метаданных таблиц исключается YTsaurus revision. Таким образом QueryCache не инвалидируется при изменении содержимого входных таблиц.

Режим предназначен, в основном, для ускорения отладки сложных запросов над большими изменяемыми таблицами, в случае, когда в логике запроса возможно игнорировать эти изменения.

yt.QueryCacheSalt

Тип значения По умолчанию Статическая /
динамическая
Произвольная строка Статическая

Соль для подмешивания в расчет хеш-значений операций для кеша запросов

yt.QueryCacheTtl

Тип значения По умолчанию Статическая /
динамическая
Интервал времени с поддержкой суффиксов s/m/h/d, который будет отсчитан от момента создания таблицы в кеше запросов или от момента последнего использования таблицы. 7d Статическая

Позволяет управлять TTL создаваемых операцией таблиц в кеше запросов.

yt.AutoMerge / yt.TemporaryAutoMerge / yt.PublishedAutoMerge

Тип значения По умолчанию Статическая /
динамическая
Строка: relaxed / economy / disabled relaxed Динамическая

Управление одноименной настройкой YTsaurus, помогающей уменьшить потребление квоты на число chunk'ов. yt.TemporaryAutoMerge действует для всех YT-операций, за исключением merge внутри YtPublish узла.

yt.PublishedAutoMerge действует только для merge внутри YtPublish узла (если он там запускается). yt.AutoMerge задаёт значение этой настройки одновременно для всех YTsaurus операций запроса.

yt.ScriptCpu

Тип значения По умолчанию Статическая /
динамическая
Число с плавающей точкой, не меньше 1.0 1.0 Динамическая

Множитель для оценки потребления процессора скриптовых UDF (включая Python UDF. Влияет на разбиение MapReduce-операций на джобы. Может быть переопределён специализированными прагмами yt.PythonCpu / yt.JavascriptCpu для конкретного типа UDF.

yt.PythonCpu

Тип значения По умолчанию Статическая /
динамическая
Число с плавающей точкой, не меньше 1.0 4.0 Динамическая

Множитель для оценки потребления процессора Python UDF, влияет на разбиение MapReduce-операций на джобы.

yt.ErasureCodecCpu

Тип значения По умолчанию Статическая /
динамическая
Число с плавающей точкой, не меньше 1.0 1.0 Динамическая

Множитель для оценки потребления процессора для обработки таблиц, пожатых erasure кодеком. Влияет на разбиение MapReduce-операций на джобы.

yt.ReleaseTempData

Тип значения По умолчанию Статическая /
динамическая
Строка: immediate / finish / never immediate Статическая

Позволяет управлять моментом удаления временных объектов (например таблиц), которые создаются при выполнении запроса:

  • immediate — удалять объекты сразу как только они становятся не нужны.
  • finish — удалять в конце выполнения всего YQL запроса.
  • never — никогда не удалять.

yt.CoreDumpPath

Тип значения По умолчанию Статическая /
динамическая
Путь на кластере Статическая, per-cluster

Позволяет сохранить coredump от упавших джобов MapReduce операций в отдельную таблицу.

yt.MaxInputTables

Тип значения По умолчанию Статическая /
динамическая
Положительное число 1000 Статическая

Ограничение на число таблиц, подаваемых на вход каждой конкретной MapReduce операции.

yt.MaxInputTablesForSortedMerge

Тип значения По умолчанию Статическая /
динамическая
Положительное число 100 Статическая

Ограничение на число таблиц, подаваемых на вход sorted merge операции.

yt.MaxOutputTables`

Тип значения По умолчанию Статическая /
динамическая
Число от 1 до 100 50 Статическая

Ограничение на число выходных таблиц каждой конкретной MapReduce операции.

yt.JoinCollectColumnarStatistics

Тип значения По умолчанию Статическая /
динамическая
Строка: disable / sync / async async Статическая

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

yt.JoinColumnarStatisticsFetcherMode

Тип значения По умолчанию Статическая /
динамическая
Строка: from_nodes / from_master / fallback fallback Статическая

Управляет режимим запроса поколоночных статистик для точной оценки входов JOIN-ов от YTsaurus. Режим from_nodes обеспечивает точную оценку, но может не укладываться в таймауты для больших таблиц. Режим from_master работает очень быстро, но дает огрубленную статистику. Режим fallback работает как комбинация предыдущих двух.

yt.MapJoinLimit

Тип значения По умолчанию Статическая /
динамическая
Байты 2048M Статическая

Ограничение на размер меньшей таблицы в JOIN, при котором включается Map-side стратегия (создание словаря в памяти из меньшей таблицы и использование его в Map по большей).

Указав в значении 0 можно совсем отключить данную стратегию.

yt.MapJoinShardCount

Тип значения По умолчанию Статическая /
динамическая
Число от 1 до 10 4 Статическая

Map-side стратегия JOIN может выполняться в шардированном варианте: меньшая сторона разбивается на N шардов (где N — меньше или равно значению данной PRAGMA), каждый из которых независимо и параллельно объединяется с большей стороной, а затем результатом JOIN считается конкатенация JOIN с шардами.

yt.MapJoinShardMinRows

Тип значения По умолчанию Статическая /
динамическая
Положительное число 1 Статическая

Минимально количество записей на шард в map-side стратегии JOIN.

yt.JoinMergeTablesLimit

Тип значения По умолчанию Статическая /
динамическая
Положительное число 64 Статическая

Суммарное допустимое число таблиц слева и справа для включения Ordered стратегии JOIN.

Указав в значении 0 можно совсем отключить данную стратегию.

yt.JoinMergeUseSmallAsPrimary

Тип значения По умолчанию Статическая /
динамическая
Флаг - Статическая

Явное управление выбором primary таблицы в операции Reduce при Ordered JOIN стратегии. Если установлен в true, то в качестве primary таблички всегда будет выбираться меньшая сторона. Если значение флага равно false, то будет выбираться большая сторона за исключением случая уникальных ключей на большей стороне. Выбор большей таблицы в качестве primary безопасен даже при наличии в ней ключей-монстров, но работает медленнее. Если данная прагма не установлена, то выбор primary происходит автоматически исходя из максимального размера получающихся джобов (см. yt.JoinMergeReduceJobMaxSize).

yt.JoinMergeReduceJobMaxSize

Тип значения По умолчанию Статическая /
динамическая
Байты 8G Статическая

Максимально допустимый размер Reduce джобы при выборе маленькой таблицы в качестве primary при Ordered JOIN стратегии. Если получившийся размер превышает указанное значение, то операция Reduce повторяется с большей таблицей в качестве primary.

yt.JoinMergeUnsortedFactor

Тип значения По умолчанию Статическая /
динамическая
Положительное число с плавающей точкой 0.2 Статическая

Минимальное соотношение размера несортированной стороны JOIN к сортированной для её досортировки и выбора Ordered стратегии JOIN.

yt.JoinMergeForce

Тип значения По умолчанию Статическая /
динамическая
Флаг - Статическая

Форсирует выбор Ordered JOIN стратегии. Если флаг установлен в True, то Ordered JOIN стратегия выбирается, даже если одна или обе стороны JOIN не сортированы. При этом несортированные стороны предварительно сортируются. Ограничения на максимальный размер несортированной таблицы (см. yt.JoinMergeUnsortedFactor) при этом игнорируются.

yt.JoinAllowColumnRenames

Тип значения По умолчанию Статическая /
динамическая
Флаг true Статическая

Включает использование переименования колонок при выполнении стратегии Ordered JOIN (используется атрибут rename_columns). Если опция выключена, то стратегия Ordered JOIN будет выбрана только при совпадении имён колонок слева и справа.

yt.UseColumnarStatistics

Тип значения По умолчанию Статическая /
динамическая
Строка: disable / auto / force / 0 (=disable) / 1 (=force) force Динамическая

Включает использование поколоночных статистик для точной оценки размеров джобов при запуске операций поверх таблиц с колоночными выборками. См. документацию.

В режиме auto автоматически отключает использование статистик для операций, на входе которых есть таблицы с optimize_for=lookup.

yt.MinPublishedAvgChunkSize

Тип значения По умолчанию Статическая /
динамическая
Байты Статическая

Если средний размер чанка в получившейся выходной таблице оказался меньше, чем указанная настройка, то запускается дополнительная YTsaurus Merge операция, которая укрупняет чанки до указанного размера. Значение 0 имеет специальный смысл — в этом случае merge всегда запускается и укрупняет чанки до 1G.

Если для таблицы используется compression codec, то размер чанков на выходе может отличаться от заданного на коэффициент компрессии. По сути, данная прагма задаёт размер данных на один merge job. После компрессии выходной размер может быть значительно меньше. В этом случае стоит увеличить значение прагмы на ожидаемый коэффициент компрессии.

yt.MinTempAvgChunkSize

Тип значения По умолчанию Статическая /
динамическая
Байты Статическая

Настройка аналогична yt.MinPublishedAvgChunkSize, но работает для промежуточных временных таблиц.

yt.TableContentDeliveryMode

Тип значения По умолчанию Статическая /
динамическая
Строка: native / file native Динамическая

Если задано значение native, то содержимое таблицы доставляется в джобы через родные механизмы YTsaurus. При значении file, содержимое таблицы сначала скачивается на сервере YQL, а затем доставляется в джобы как обычный файл.

yt.TableContentMaxChunksForNativeDelivery

Тип значения По умолчанию Статическая /
динамическая
Положительное число, до 1000 включительно 1000 Статическая

Максимальное число чанков в таблице для её доставки в джобы через родные механизмы YTsaurus. При превышении этого числа таблица доставляется через файл.

yt.TableContentCompressLevel

Тип значения По умолчанию Статическая /
динамическая
Положительное число, до 11 включительно 8 Динамическая

Настройка уровня компрессии содержимого таблицы, доставляемого через файл (при yt.TableContentDeliveryMode="file").

yt.TableContentTmpFolder

Тип значения По умолчанию Статическая /
динамическая
Путь на кластере Динамическая

Директория, где будут размещаться временные файлы для таблиц, доставляемых через файл (при yt.TableContentDeliveryMode="file"). Если не задана, то используется стандартный файловый кеш YTsaurus.

yt.TableContentMinAvgChunkSize

Тип значения По умолчанию Статическая /
динамическая
Байты 1GB Статическая

Минимальный средний размер чанков в таблице для её доставки в джобы через родные механизмы YTsaurus. Для недостаточно больших чанков вставляется предварительный merge.

yt.TableContentMaxInputTables

Тип значения По умолчанию Статическая /
динамическая
Положительное число, до 1000 включительно 1000 Статическая

Максимально число таблиц для доставки в джобы через родные механизмы YTsaurus. При превышении этого числа вставляется предварительный merge.

yt.TableContentUseSkiff

Тип значения По умолчанию Статическая /
динамическая
Флаг true Динамическая

Включает skiff-формат для доставки таблицы в джобы операций.

yt.LayerPaths

Тип значения По умолчанию Статическая /
динамическая
Строка со списком путей до porto-слоев, разделённых любым из символов: запятая, точка с запятой, пробел или | Динамическая

Возможность указать последовательность porto-слоев для формирования среды, в которой будут выполняться пользовательские джобы.

yt.UseSkiff

Тип значения По умолчанию Статическая /
динамическая
Флаг true Динамическая

Включает skiff-формат для ввода-вывода в джобах операций.

yt.DefaultCalcMemoryLimit

Тип значения По умолчанию Статическая /
динамическая
Байты 1G Статическая

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

Допустимы суффиксы K, M и G для указания в килобайтах, мегабайтах и гигабайтах, соответственно.

yt.ParallelOperationsLimit

Тип значения По умолчанию Статическая /
динамическая
Число, не меньше 1 16 Статическая

Задаёт максимальное число одновременно запускаемых YTsaurus-операций в пределах запроса.

yt.DefaultMemoryReserveFactor

Тип значения По умолчанию Статическая /
динамическая
Число с плавающей точкой от 0.0 до 1.0 включительно Динамическая

Задаёт коэффициент резервирования памяти для джобов, см. документацию.

yt.DefaultMemoryDigestLowerBound

Тип значения По умолчанию Статическая /
динамическая
Число с плавающей точкой от 0.0 до 1.0 включительно Динамическая

Задаёт настройку user_job_memory_digest_lower_bound в спеке операции. Про настройку можно почитать в документации.

yt.BufferRowCount

Тип значения По умолчанию Статическая /
динамическая
Число, не меньше 1 Динамическая

Ограничение на количество записей, которые могут быть забуферизированы JobProxy.

yt.DisableJobSplitting

Тип значения По умолчанию Статическая /
динамическая
Флаг false Динамическая

Запретить планировщику YTsaurus адаптивно доразбивать долго бегущие пользовательские джобы.

yt.DefaultLocalityTimeout

Тип значения По умолчанию Статическая /
динамическая
Интервал времени с поддержкой суффиксов s/m/h/d Динамическая

Задаёт настройку locality_timeout в спеке операции (настройка пока не задокументирована).

yt.MapLocalityTimeout

Тип значения По умолчанию Статическая /
динамическая
Интервал времени с поддержкой суффиксов s/m/h/d Динамическая

Задаёт настройку map_locality_timeout в спеке операции (настройка пока не задокументирована).

yt.ReduceLocalityTimeout

Тип значения По умолчанию Статическая /
динамическая
Интервал времени с поддержкой суффиксов s/m/h/d Динамическая

Задаёт настройку reduce_locality_timeout в спеке операции (настройка пока не задокументирована).

yt.SortLocalityTimeout

Тип значения По умолчанию Статическая /
динамическая
Интервал времени с поддержкой суффиксов s/m/h/d Динамическая

Задаёт настройку sort_locality_timeout в спеке операции (настройка пока не задокументирована).

yt.MinLocalityInputDataWeight

Тип значения По умолчанию Статическая /
динамическая
Байты Динамическая

Задаёт настройку min_locality_input_data_weight в спеке операции (настройка пока не задокументирована).

yt.DefaultMapSelectivityFactor

Тип значения По умолчанию Статическая /
динамическая
Положительное число с плавающей точкой Динамическая

Задаёт приблизительное соотношение выхода к входу map-стадии в совмещенной MapReduce операции, см. документацию

yt.SuspendIfAccountLimitExceeded

Тип значения По умолчанию Статическая /
динамическая
Флаг false Динамическая

Приостанавливать операцию в случае возникновения ошибки "Account limit exceeded" в джобах, см. документацию.

yt.CommonJoinCoreLimit

Тип значения По умолчанию Статическая /
динамическая
Байты 128M Статическая

Задаёт размер буфера памяти для выполнения CommonJoinCore узла (исполняется в джобе при выборе common-стратегии JOIN).

yt.CombineCoreLimit

Тип значения По умолчанию Статическая /
динамическая
Байты, не меньше 1M 128M Статическая

Задаёт размер буфера памяти для выполнения CombineCore узла.

yt.SwitchLimit

Тип значения По умолчанию Статическая /
динамическая
Байты, не меньше 1M 128M Статическая

Задаёт размер буфера памяти для выполнения Switch узла.

yt.EvaluationTableSizeLimit

Тип значения По умолчанию Статическая /
динамическая
Байты, не больше 10M 1M Статическая

Задаёт максимальный суммарный объём таблиц, используемых на evaluation-стадии.

yt.LookupJoinLimit

Тип значения По умолчанию Статическая /
динамическая
Байты, не больше 10M 1M Статическая

Таблица может быть использована в качестве словаря в Lookup JOIN стратегии, если её размер не превышает минимума из yt.LookupJoinLimit и yt.EvaluationTableSizeLimit.

yt.LookupJoinMaxRows

Тип значения По умолчанию Статическая /
динамическая
Число, не больше 1000 900 Статическая

Максимальное число строк в таблице, при котором она может выступать в качестве словаря в Lookup JOIN стратегии.

yt.MaxExtraJobMemoryToFuseOperations

Тип значения По умолчанию Статическая /
динамическая
Байты 2G Статическая

Максимальный размер потребления памяти джобами, допускаемый после слияния операций оптимизаторами.

yt.MaxReplicationFactorToFuseOperations

Тип значения По умолчанию Статическая /
динамическая
Число с плавающей точкой не меньше 1.0 20.0 Статическая

Максимальный коэффициент размножения данных, допускаемый после слияния операций оптимизаторами.

yt.TopSortMaxLimit

Тип значения По умолчанию Статическая /
динамическая
Положительное число 1000 Статическая

Максимальное значение LIMIT, используемого в комбинации с ORDER BY, при котором запускается TopSort оптимизация.

yt.TopSortSizePerJob

Тип значения По умолчанию Статическая /
динамическая
Байты, не меньше 1 128M Статическая

Задаёт ожидаемый объём данных на джоб в TopSort операции.

yt.TopSortRowMultiplierPerJob

Тип значения По умолчанию Статическая /
динамическая
Число, не меньше 1 10 Статическая

Задаёт ожидаемое число записей на джоб в TopSort операции, вычисляемое как LIMIT * yt.TopSortRowMultiplierPerJob.

yt.DisableOptimizers

Тип значения По умолчанию Статическая /
динамическая
Строка со списком оптимизаторов, разделённых любым из символов: запятая, точка с запятой, пробел или | Статическая

Отключает заданные оптимизаторы.

yt.JobEnv

Тип значения По умолчанию Статическая /
динамическая
Строковое представление yson-словаря Динамическая

Задаёт переменные окружения для map- и reduce-джобов операций. Ключи в словаре задают имена переменных окружения, а значения в словаре — значения переменных окружения.

yt.OperationSpec

Тип значения По умолчанию Статическая /
динамическая
Строковое представление yson-словаря Динамическая

Задаёт словарь настроек операций. Позволяет задать, настройки, не имеющие аналогов в виде прагм. Настройки, заданные через специализированные прагмы, имеют больший приоритет и перетирают значения в этом словаре.

yt.Annotations

Тип значения По умолчанию Статическая /
динамическая
Строковое представление yson-словаря Динамическая

Задаёт произвольную структурированную информацию, связанную с операцией. См. документацию.

yt.StartedBy

Тип значения По умолчанию Статическая /
динамическая
Строковое представление yson-словаря Динамическая

Задаёт словарь, описывающий клиента, посредством которого была запущена операция. См. документацию.

yt.Description

Тип значения По умолчанию Статическая /
динамическая
Строковое представление yson-словаря Динамическая

Задаёт человекочитаемую информацию, отображаемую в веб-интерфейсе на странице операции. См. документацию.

yt.MaxSpeculativeJobCountPerTask

Тип значения По умолчанию Статическая /
динамическая
Положительное число Динамическая

Задаёт количество спекулятивно исполняемых джобов в YTsaurus операциях. По умолчанию используются настройки YTsaurus кластера.

yt.LLVMMemSize

Тип значения По умолчанию Статическая /
динамическая
Байты 256M Динамическая

Задаёт фиксированный размер памяти, необходимый при компиляции LLVM-кода в джобах

yt.LLVMPerNodeMemSize

Тип значения По умолчанию Статическая /
динамическая
Байты 10K Динамическая

Задаёт размер памяти на каждый узел графа вычислений, необходимый при компиляции LLVM-кода в джобах

yt.SamplingIoBlockSize

Тип значения По умолчанию Статическая /
динамическая
Байты Динамическая

Задаёт минимальный размер блока для крупноблочного сэмплирования.

yt.BinaryTmpFolder

Тип значения По умолчанию Статическая /
динамическая
Путь на кластере Статическая

Задаёт отдельный путь на кластере, где будут кешироваться бинарные артефакты запроса (UDF и job binary). Артефакты сохраняются в корне директории с именем, равным md5 артефакта. Сохранение и использование артефактов в данной директории выполняется вне транзакции, даже если в запросе задана прагма yt.ExternalTx

yt.BinaryExpirationInterval

Тип значения По умолчанию Статическая /
динамическая
Интервал времени с поддержкой суффиксов s/m/h/d Статическая

Позволяет управлять TTL кешируемых бинарных артефактов. Работает только в паре с yt.BinaryTmpFolder. Каждое использование бинарного артефакта в запросе продлевает его TTL.

yt.FolderInlineDataLimit

Тип значения По умолчанию Статическая /
динамическая
Байты 100K Статическая

Задаёт максимальный размер данных для inline списка, полученного в результате вычисления Folder. При большем размере будет использоваться временный файл.

yt.FolderInlineItemsLimit

Тип значения По умолчанию Статическая /
динамическая
Положительное число 100 Статическая

Задаёт максимальное количество элементов в inline списке, полученном в результате вычисления Folder. При большем размере будет использоваться временный файл.

yt.UseNativeYtTypes

Тип значения По умолчанию Статическая /
динамическая
Флаг true Статическая

Включает запись значений сложных типов в таблицы с использованием родной поддержки сложных типов в YTsaurus.

yt.PublishedMedia / yt.TemporaryMedia

Тип значения По умолчанию Статическая /
динамическая
Строковое представление yson-словаря Динамическая

Установить на вновь создаваемых таблицах атрибут @media. При его наличии назначает на каких медиумах в YTsaurus будут храниться чанки таблицы.

Published являются таблицы, указанные в INSERT INTO все остальные считаются временными (Temporary).

yt.PublishedPrimaryMedium / yt.TemporaryPrimaryMedium

Тип значения По умолчанию Статическая /
динамическая
Строка Динамическая

Установить на вновь создаваемых таблицах атрибут @primary_medium. При его наличии назначает первичный медиум в YTsaurus на который будет осуществляться запись чанков. По умолчанию YTsaurus устанавливает первичный медиум "default".

Published являются таблицы, указанные в INSERT INTO все остальные считаются временными (Temporary).

yt.IntermediateDataMedium

Тип значения По умолчанию Статическая /
динамическая
Строка Динамическая

Установить медиум, используемый для промежуточных данных в операциях (Sort, MapReduce). Подробности см. в документации.

yt.PrimaryMedium

Тип значения По умолчанию Статическая /
динамическая
Строка Динамическая

Задаёт первичный медиум в YTsaurus для Published, Temporary таблиц и промежуточных данных в операциях. Равносильно одновременной установке прагм yt.IntermediateDataMedium, yt.PublishedPrimaryMedium и yt.TemporaryPrimaryMedium.

yt.HybridDqExecution

Тип значения По умолчанию Статическая /
динамическая
Флаг true Статическая

Включает гибридное исполнение запросов через DQ

yt.StaticNetworkProject

Тип значения По умолчанию Статическая /
динамическая
Строка - Статическая, per-cluster

Задаёт использование указанного сетевого проекта в джобах для всех map-reduce операций в запросе (включая evaluation стадию).

yt.NetworkProject

Тип значения По умолчанию Статическая /
динамическая
Строка yt.StaticNetworkProject Динамическая

Задаёт использование указанного сетевого проекта в джобах для регулярных операций в запросе.

yt.BatchListFolderConcurrency

Тип значения По умолчанию Статическая /
динамическая
Положительное число 5 Статическая

Задаёт количество одновременных операций листинга директорий.

yt.ColumnGroupMode

Тип значения По умолчанию Статическая /
динамическая
Строка: disable / single / perusage disable Статическая

Задаёт режим вычисления поколоночных групп для промежуточных таблиц запроса. В режиме disable поколоночные группы не используются. В режиме single создается одна группа на все колонки таблицы. В режиме perusage создаются гранулярные группы колонок по их потребителям. Все колонки одной группы одновременно используются в одном или нескольких потребителях. Например, если в промежуточной таблице имеются колонки [a, b, c, d, e, f] и её используют две операции с выборками колонок [a, b, c, d] и [c, d, e, f] соответственно, то в таблице будут созданы три группы колонок [a, b], [c, d] и [e, f]. Если промежуточная таблица используется для публикации в выходную таблицу (т.е. потребителем является узел YtPublish), то поколоночные группы не применяются, за исключением явно заданного модификатора column_groups. В последнем случае, промежуточная таблица использует поколоночные группы модификатора.

yt.MinColumnGroupSize

Тип значения По умолчанию Статическая /
динамическая
Положительное число не меньше 2 2 Статическая

Задаёт минимальный размер поколоночной группы. Если вычисленная группа содержит число колонок меньше заданного значения прагмы, то она не создается.

yt.MaxColumnGroups

Тип значения По умолчанию Статическая /
динамическая
Положительное число 64 Статическая

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

yt.ForceJobSizeAdjuster

Тип значения По умолчанию Статическая /
динамическая
Флаг true Статическая

Задаёт опцию "force_job_size_adjuster" в настройках операций.

yt.DontForceTransformForInputTables

Тип значения По умолчанию Статическая /
динамическая
Флаг false Статическая

Отключает принудительную трансформацию данных для пользовательских таблиц с настройками хранения (erasure_codec, compression_codec, primary_medium, media, поколоночные группы), отличающимися от настроек по умолчанию.

Принудительная трансформация применяется для входных таблиц, если они используются для записи в выходные таблицы только через операцию YtMerge.

Следующая