PRAGMA
- Определение
- Глобальные
- AutoCommit
- TablePathPrefix
- UDF
- RuntimeLogLevel
- UseTablePrefixForEach
- Warning
- Greetings
- WarningMsg
- DqEngine
- SimpleColumns
- CoalesceJoinKeysOnQualifiedAll
- StrictJoinKeyTypes
- AnsiInForEmptyOrNullableItemsCollections
- AnsiRankForNullableKeys
- AnsiCurrentRow
- OrderedColumns
- PositionalUnionAll
- RegexUseRe2
- ClassicDivision
- CheckedOps
- UnicodeLiterals
- WarnUntypedStringLiterals
- AllowDotInAlias
- WarnUnnamedColumns
- GroupByLimit
- GroupByCubeLimit
- Yson
- Работа с файлами
- YT
- yt.InferSchema / yt.ForceInferSchema
- yt.InferSchemaTableCountThreshold
- yt.IgnoreWeakSchema
- yt.IgnoreYamrDsv
- yt.IgnoreTypeV3
- yt.StaticPool
- yt.Pool
- yt.Owners
- yt.OperationReaders
- yt.Auth
- yt.DefaultMaxJobFails
- yt.DefaultMemoryLimit
- yt.DataSizePerJob / yt.DataSizePerMapJob
- yt.DataSizePerSortJob
- yt.DataSizePerPartition
- yt.MaxJobCount
- yt.UserSlots
- yt.DefaultOperationWeight
- yt.TmpFolder
- yt.TablesTmpFolder
- yt.TempTablesTtl
- yt.FileCacheTtl
- yt.IntermediateAccount
- yt.IntermediateReplicationFactor
- yt.PublishedReplicationFactor / yt.TemporaryReplicationFactor
- yt.ExternalTx
- yt.OptimizeFor
- yt.PublishedCompressionCodec / yt.TemporaryCompressionCodec
- yt.PublishedErasureCodec / yt.TemporaryErasureCodec
- yt.NightlyCompress
- yt.ExpirationDeadline / yt.ExpirationInterval
- yt.MaxRowWeight
- yt.MaxKeyWeight
- yt.UseTmpfs
- yt.ExtraTmpfsSize
- yt.PoolTrees
- yt.TentativePoolTrees
- yt.TentativeTreeEligibilitySampleJobCount
- yt.TentativeTreeEligibilityMaxJobDurationRatio
- yt.TentativeTreeEligibilityMinJobDuration
- yt.UseDefaultTentativePoolTrees
- yt.QueryCacheMode
- yt.QueryCacheIgnoreTableRevision
- yt.QueryCacheSalt
- yt.QueryCacheTtl
- yt.AutoMerge / yt.TemporaryAutoMerge / yt.PublishedAutoMerge
- yt.ScriptCpu
- yt.PythonCpu / yt.JavascriptCpu
- yt.ErasureCodecCpu
- yt.ReleaseTempData
- yt.CoreDumpPath
- yt.MaxInputTables
- yt.MaxInputTablesForSortedMerge
- yt.MaxOutputTables
- yt.JoinCollectColumnarStatistics
- yt.JoinColumnarStatisticsFetcherMode
- yt.MapJoinLimit
- yt.MapJoinShardCount
- yt.MapJoinShardMinRows
- yt.JoinMergeTablesLimit
- yt.JoinMergeUseSmallAsPrimary
- yt.JoinMergeReduceJobMaxSize
- yt.JoinMergeUnsortedFactor
- yt.JoinMergeForce
- yt.JoinAllowColumnRenames
- yt.UseColumnarStatistics
- yt.MinPublishedAvgChunkSize
- yt.MinTempAvgChunkSize
- yt.TableContentDeliveryMode
- yt.TableContentMaxChunksForNativeDelivery
- yt.TableContentCompressLevel
- yt.TableContentTmpFolder
- yt.TableContentMinAvgChunkSize
- yt.TableContentMaxInputTables
- yt.TableContentUseSkiff
- yt.LayerPaths
- yt.UseSkiff
- yt.DefaultCalcMemoryLimit
- yt.ParallelOperationsLimit
- yt.DefaultCluster
- yt.DefaultMemoryReserveFactor
- yt.DefaultMemoryDigestLowerBound
- yt.BufferRowCount
- yt.DisableJobSplitting
- yt.DefaultLocalityTimeout
- yt.MapLocalityTimeout
- yt.ReduceLocalityTimeout
- yt.SortLocalityTimeout
- yt.MinLocalityInputDataWeight
- yt.DefaultMapSelectivityFactor
- yt.SuspendIfAccountLimitExceeded
- yt.CommonJoinCoreLimit
- yt.CombineCoreLimit
- yt.SwitchLimit
- yt.EvaluationTableSizeLimit
- yt.LookupJoinLimit
- yt.LookupJoinMaxRows
- yt.MaxExtraJobMemoryToFuseOperations
- yt.MaxReplicationFactorToFuseOperations
- yt.TopSortMaxLimit
- yt.TopSortSizePerJob
- yt.TopSortRowMultiplierPerJob
- yt.DisableOptimizers
- yt.JobEnv
- yt.OperationSpec
- yt.Annotations
- yt.StartedBy
- yt.Description
- yt.MaxSpeculativeJobCountPerTask
- yt.LLVMMemSize
- yt.LLVMPerNodeMemSize
- yt.SamplingIoBlockSize
- yt.BinaryTmpFolder
- yt.BinaryExpirationInterval
- yt.FolderInlineDataLimit
- yt.FolderInlineItemsLimit
- yt.UseNativeYtTypes
- yt.PublishedMedia / yt.TemporaryMedia
- yt.PublishedPrimaryMedium / yt.TemporaryPrimaryMedium
- yt.IntermediateDataMedium
- yt.PrimaryMedium
- yt.HybridDqExecution
- yt.NetworkProject
- yt.BatchListFolderConcurrency
- yt.ColumnGroupMode
- yt.MinColumnGroupSize
- yt.MaxColumnGroups
- yt.ForceJobSizeAdjuster
Определение
Переопределение настроек.
Синтаксис
PRAGMA x.y = "z";
или PRAGMA x.y("z", "z2", "z3");
:
-
x
— (опционально) категория настройки. -
y
— название настройки. -
z
— (опционально для флагов) значение настройки. Допустимо использование следующих суффиксов:Kb
,Mb
,Gb
— для объёма информации.sec
,min
,h
,d
— для временных значений.
Для динамических прагм yt значение настроек можно вернуть в состояние по умолчанию — с помощью PRAGMA my_pragma = default;
. Обратите внимание — для других прагм сбросить настройку не получится.
Примеры
PRAGMA AutoCommit;
PRAGMA TablePathPrefix = "home/yql";
PRAGMA Warning("disable", "1101");
Полный список доступных настроек см. в таблице ниже.
Область действия
Если не указано иное, прагма влияет на все идущие следом выражения вплоть до конца модуля, в котором она встречается. При необходимости и логической возможности можно менять значение настройки несколько раз в одном запросе, чтобы оно было разным на разных этапах выполнения.
Существуют также специальные scoped прагмы, область действия которых определяется по тем же правилам, что и область видимости именованных выражений.
В отличие от scoped прагм, обычные прагмы могут использоваться только в глобальной области видимости (не внутри DEFINE ACTION и DEFINE SUBQUERY).
Глобальные
AutoCommit
Тип значения | По умолчанию |
---|---|
Флаг | false |
Автоматически выполнять COMMIT после каждого выражения.
TablePathPrefix
Тип значения | По умолчанию |
---|---|
Строка | — |
Добавить указанный префикс к путям таблиц внутри кластеров. Работает по принципу объединения путей в файловой системе: поддерживает ссылки на родительский каталог ..
и не требует добавления слеша справа. Например,
PRAGMA TablePathPrefix = "home/yql";
SELECT * FROM test;
Префикс не добавляется, если имя таблицы указано как абсолютный путь (начинается с /).
UDF
Тип значения | По умолчанию | Статическая / динамическая |
---|---|---|
Строка | — | Статическая |
Строка — имя префикса, добавляемого ко всем модулям | "" | Статическая |
Импорт всех UDF из указанной библиотеки. Чтобы прагма сработала, библиотеку необходимо приложить к запросу через иконку . Обратите внимание: библиотека должна быть разделяемой (.so) и она должна быть скомпилирована под Linux x64.
При указании префикса, он добавляется перед названием всех загруженных модулей, например, CustomPrefixIp::IsIPv4 вместо Ip::IsIPv4. Указание префикса позволяет подгрузить одну и ту же UDF разных версий.
RuntimeLogLevel
Тип значения | По умолчанию | Статическая / динамическая |
---|---|---|
Строка, одно из Trace , Debug , Info , Notice , Warn , Error , Fatal |
Info |
Статическая |
Позволяет поменять уровень логирования вычислений (например, для UDF) во время выполнения запроса или на этапе декларации сигнатуры UDF.
UseTablePrefixForEach
Тип значения | По умолчанию |
---|---|
Флаг | false |
EACH
использует TablePathPrefix для каждого элемента списка.
Warning
Тип значения | По умолчанию |
---|---|
1. Действие 2. Код предупреждения либо символ "*" |
— |
Действие:
disable
— отключить;error
— приравнять к ошибке;default
— вернуть поведение по умолчанию.
Код предупреждения возвращается вместе с самим текстом (в веб-интерфейсе отображается справа).
Примеры:
PRAGMA Warning("error", "*");
PRAGMA Warning("disable", "1101");
PRAGMA Warning("default", "4503");
В данном случае все предупреждения будут считаться ошибками, за исключением предупреждения с кодом 1101
, которое будет отключено, и 4503
, которое будет обрабатываться по умолчанию (то есть останется предупреждением). Поскольку предупреждения могут добавляться в новых релизах YQL, следует с осторожностью пользоваться конструкцией PRAGMA Warning("error", "*");
(как минимум покрывать такие запросы автотестами).
Список кодов предупреждений и ошибок
Greetings
Тип значения | По умолчанию |
---|---|
Текст | — |
Выдать указанный текст в качестве Info сообщения запроса.
Пример: PRAGMA Greetings("It's a good day!");
WarningMsg
Тип значения | По умолчанию |
---|---|
Текст | — |
Выдать указанный текст в качестве Warning сообщения запроса.
Пример: PRAGMA WarningMsg("Attention!");
DqEngine
Тип значения | По умолчанию |
---|---|
Строка disable/auto/force | "auto" |
При значении "auto" включает новый движок вычислений. Вычисления по возможности делаются без создания map/reduce операций. При значении "force" вычисление идёт в новый движок безусловно.
SimpleColumns
SimpleColumns
/ DisableSimpleColumns
Тип значения | По умолчанию |
---|---|
Флаг | true |
При использовании SELECT foo.* FROM ... AS foo
убрать префикс foo.
у имён результирующих колонок.
Работает в том числе и для JOIN, но в этом случае имеет право упасть в случае конфликта имён (который можно разрешить с помощью WITHOUT и переименования колонок). Для JOIN в режиме SimpleColumns производится неявный Coalesce для ключевых колонок: запрос SELECT * FROM T1 AS a JOIN T2 AS b USING(key)
в режиме SimpleColumns работает как SELECT a.key ?? b.key AS key, ... FROM T1 AS a JOIN T2 AS b USING(key)
CoalesceJoinKeysOnQualifiedAll
CoalesceJoinKeysOnQualifiedAll
/ DisableCoalesceJoinKeysOnQualifiedAll
Тип значения | По умолчанию |
---|---|
Флаг | true |
Управляет неявным Coalesce для ключевых колонок JOIN
в режиме SimpleColumns. Если флаг установлен, то Coalesce ключевых колонок происходит при наличии хотя бы одного выражения вида foo.*
или *
в SELECT — например SELECT a.* FROM T1 AS a JOIN T2 AS b USING(key)
. Если флаг сброшен, то Coalesce ключей JOIN происходит только при наличии '*' после SELECT
.
StrictJoinKeyTypes
StrictJoinKeyTypes
/ DisableStrictJoinKeyTypes
Тип значения | По умолчанию |
---|---|
Флаг | false |
Если флаг установлен, то JOIN будет требовать строгого совпадения типов ключей.
По умолчанию JOIN предварительно конвертирует ключи к общему типу, что может быть нежелательно с точки зрения производительности.
StrictJoinKeyTypes является scoped настройкой.
AnsiInForEmptyOrNullableItemsCollections
Тип значения | По умолчанию |
---|---|
Флаг | false |
Наличие этой прагмы приводит поведение оператора IN
в соответствие со стандартом в случае наличия NULL
в левой или правой части оператора IN
. Также изменено поведение IN
в случае, когда справа был Tuple с элементами разных типов. Примеры:
1 IN (2, 3, NULL) = NULL (было Just(False))
NULL IN () = Just(False) (было NULL)
(1, null) IN ((2, 2), (3, 3)) = Just(False) (было NULL)
Подробнее про поведение IN
при наличии NULL-ов в операндах можно почитать здесь. Явным образом выбрать старое поведение можно, указав прагму DisableAnsiInForEmptyOrNullableItemsCollections
. Если никакой прагмы не задано, то выдаётся предупреждение и работает старый вариант.
AnsiRankForNullableKeys
Тип значения | По умолчанию |
---|---|
Флаг | false |
Приводит поведение RANK/DENSE_RANK в соответствие со стандартом при наличии опциональных типов в ключах сортировки окна или в аргументе этих оконных функций. А именно:
- типом результата всегда является Uint64, а не Uint64?;
- null-ы в ключах считаются равными друг другу (текущая реализация возвращает NULL).
Явным образом выбрать старое поведение можно, указав прагму DisableAnsiRankForNullableKeys
. Если никакой прагмы не задано, то выдаётся предупреждение и работает старый вариант.
AnsiCurrentRow
Тип значения | По умолчанию |
---|---|
Флаг | false |
Приводит неявное задание рамки окна при наличии ORDER BY в соответствие со стандартом.
Если AnsiCurrentRow не установлен, то окно (ORDER BY key)
эквивалентно (ORDER BY key ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
. Стандарт же требует, чтобы такое окно вело себя как (ORDER BY key RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
.
Разница состоит в трактовке CURRENT ROW
. В режиме ROWS
CURRENT ROW
трактуется буквально – текущая строка в партиции.
А в режиме RANGE
конец рамки CURRENT ROW
означает "последняя строка в партиции с ключом сортировки, равным текущей строке".
OrderedColumns
OrderedColumns
/ DisableOrderedColumns
Выводить порядок колонок в SELECT/JOIN/UNION ALL и сохранять его при записи результатов. По умолчанию порядок колонок не определён.
PositionalUnionAll
Включить соответствующий стандарту поколоночный режим выполнения UNION ALL. При этом автоматически включается упорядоченность колонок.
RegexUseRe2
Тип значения | По умолчанию |
---|---|
Флаг | false |
Использовать Re2 UDF вместо Pcre для выполнения SQL операторов REGEX
,MATCH
,RLIKE
. Re2 UDF поддерживает корректную обработку Unicode-символов в отличие от используемой по умолчанию Pcre UDF.
ClassicDivision
Тип значения | По умолчанию |
---|---|
Флаг | true |
В классическом варианте результат целочисленного деления остаётся целочисленным (по умолчанию). Если отключить — результат всегда становится Double.
ClassicDivision
является scoped настройкой.
CheckedOps
Тип значения | По умолчанию |
---|---|
Флаг | false |
При включённом режиме: если в результате выполнения агрегационных функций SUM/SUM_IF, бинарных операций +
,-
,*
,/
,%
или унарной операции -
над целыми числами происходит выход за границы целевого типа аргументов или результата, то возвращается NULL
. Если отключить — переполнение не проверяется.
Не влияет на операции с числами с плавающей точкой или Decimal
.
CheckedOps
является scoped настройкой.
UnicodeLiterals
UnicodeLiterals
/DisableUnicodeLiterals
Тип значения | По умолчанию |
---|---|
Флаг | false |
При включённом режиме строковые литералы без суффиксов вида "foo"/'bar'/@@multiline@@ будут иметь тип Utf8
, при выключенном — String
.
UnicodeLiterals
является scoped настройкой.
WarnUntypedStringLiterals
WarnUntypedStringLiterals
/DisableWarnUntypedStringLiterals
Тип значения | По умолчанию |
---|---|
Флаг | false |
При включённом режиме для строковых литералов без суффиксов вида "foo"/'bar'/@@multiline@@ будет генерироваться предупреждение. Его можно подавить, если явно выбрать суффикс s
для типа String
, либо u
для типа Utf8
.
WarnUntypedStringLiterals
является scoped настройкой.
AllowDotInAlias
Тип значения | По умолчанию |
---|---|
Флаг | false |
Разрешить использовать точку в именах результирующих колонок. По умолчанию отключено, т. к. дальнейшее использование таких колонок в JOIN полностью не реализовано.
WarnUnnamedColumns
Тип значения | По умолчанию |
---|---|
Флаг | false |
Генерировать предупреждение, если для безымянного выражения в SELECT
было автоматически сгенерировано имя колонки (вида column[0-9]+
).
GroupByLimit
Тип значения | По умолчанию |
---|---|
Положительное число | 32 |
Увеличение лимита на число группировок в GROUP BY.
GroupByCubeLimit
Тип значения | По умолчанию |
---|---|
Положительное число | 5 |
Увеличение лимита на число размерностей GROUP BY.
Использовать нужно аккуратно, так как вычислительная сложность запроса растёт экспоненциально по отношению к числу размерностей.
Yson
Управление поведением Yson UDF по умолчанию, подробнее см. в документации и в частности Yson::Options.
yson.AutoConvert
Тип значения | По умолчанию |
---|---|
Флаг | false |
Автоматическая конвертация значений в требуемый тип данных во всех вызовах Yson UDF, в том числе и неявных.
yson.Strict
Тип значения | По умолчанию |
---|---|
Флаг | true |
Управление строгим режимом во всех вызовах Yson UDF, в том числе и неявных. Без значения или при значении "true"
— включает строгий режим. Со значением "false"
— отключает.
yson.DisableStrict
Тип значения | По умолчанию |
---|---|
Флаг | false |
Инвертированная версия yson.Strict
. Без значения или при значении "true"
— отключает строгий режим. Со значением "false"
— включает.
Работа с файлами
File
Тип значения | По умолчанию | Статическая / динамическая |
---|---|---|
Два или три строковых аргумента — алиас, URL и опциональное имя токена | — | Статическая |
Приложить файл к запросу по URL. Использовать приложенные файлы можно с помощью встроенных функций FilePath и FileContent. Данная PRAGMA
является универсальной альтернативой прикладыванию файлов с использованием встроенных механизмов веб- или консольного клиентов.
Сервис YQL оставляет за собой право кешировать находящиеся за URL файлы на неопределённый срок, поэтому при значимом изменении находящегося за ней содержимого настоятельно рекомендуется модифицировать URL за счёт добавления/изменения незначащих параметров.
При указании имени токена его значение будет использоваться для обращения к целевой системе.
FileOption
Тип значения | По умолчанию | Статическая / динамическая |
---|---|---|
Три строковых аргумента — алиас, ключ, значение | — | Статическая |
Установить для указанного файла опцию по заданному ключу в заданное значение. Файл с этим алиасом уже должен быть объявлен через PRAGMA File или приложен к запросу.
Поддерживаемые на данный момент опции:
Ключ | Диапазон значений | Описание |
---|---|---|
bypass_artifact_cache |
true /false |
Управляет кешированием |
Пример:
PRAGMA FileOption("<file-name>", "bypass_artifact_cache", "true");
Library
Тип значения | По умолчанию | Статическая / динамическая |
---|---|---|
Один или два аргумента — имя файла и опциональный URL | — | Статическая |
Интерпретировать указанный приложенный файл как библиотеку, из которой можно делать IMPORT. Тип синтаксиса библиотеки определяется по расширению файла:
.sql
для YQL диалекта SQL (рекомендуется);.yqls
для s-expressions.
Пример с приложенным файлом к запросу:
PRAGMA library("a.sql");
IMPORT a SYMBOLS $x;
SELECT $x;
В случае указания URL библиотека скачивается с него, а не с предварительного приложенного файла, как в следующем примере:
PRAGMA library("a.sql","https://raw.githubusercontent.com/ytsaurus/ytsaurus/refs/heads/main/yt/docs/code-examples/yql/pragma-library-example");
IMPORT a SYMBOLS $x;
SELECT $x;
При этом можно использовать подстановку текстовых параметров в URL:
DECLARE $_ver AS STRING; -- "pragma-library-example"
PRAGMA library("a.sql","https://raw.githubusercontent.com/ytsaurus/ytsaurus/refs/heads/main/yt/docs/code-examples/yql/{$_ver}");
IMPORT a SYMBOLS $x;
SELECT $x;
Package
Тип значения | По умолчанию | Статическая / динамическая |
---|---|---|
Два или три аргумента — имя пакета, URL и опциональный токен | — | Статическая |
Приложить иерархический набор файлов к запросу по URL, интерпретируя их в качестве пакета с указанным именем — взаимосвязанного набора библиотек.
Имя пакета ожидается в формате project_name.package_name
; из библиотек пакета в дальнейшем можно делать IMPORT с именем модуля вида pkg.project_name.package_name.maybe.nested.module.name
.
Пример для пакета с плоской иерархией, состоящего из двух библиотек — foo.sql и bar.sql:
PRAGMA package("project.package", "/path/to/package");
IMPORT pkg.project.package.foo SYMBOLS $foo;
IMPORT pkg.project.package.bar SYMBOLS $bar;
SELECT $foo, $bar;
При этом можно использовать подстановку текстовых параметров в URL:
DECLARE $_path AS STRING; -- "path"
PRAGMA package("project.package", "{$_path}/to/package");
IMPORT pkg.project.package.foo SYMBOLS $foo;
IMPORT pkg.project.package.bar SYMBOLS $bar;
SELECT $foo, $bar;
OverrideLibrary
Тип значения | По умолчанию | Статическая / динамическая |
---|---|---|
Один аргумент — имя файла | — | Статическая |
Интерпретировать указанный приложенный файл как библиотеку и перекрыть ей одну из библиотек пакета.
Имя файла ожидается в формате project_name/package_name/maybe/nested/module/name.EXTENSION
, поддерживаются аналогичные PRAGMA Library расширения.
Пример:
PRAGMA package("project.package", "/path/to/package");
PRAGMA override_library("project/package/maybe/nested/module/name.sql");
IMPORT pkg.project.package.foo SYMBOLS $foo;
SELECT $foo;
Важно
Для PRAGMA Package
поддерживаются только ссылки на директории на YTsaurus кластерах.
YT
YT-прагмы по времени своего действия разделяются на статические и динамические. Статические прагмы инициализируются один раз на самой ранней стадии обработки запроса. Если статическую прагму указать несколько раз в запросе, то будет использоваться только последнее её заданное значение. Значения динамических прагм инициализируются уже на стадии непосредственно исполнения запроса, после его оптимизации и построения плана исполнения. Указанное значение действует до следующей такой же прагмы или до конца запроса. Только для динамических прагм можно сбросить их значение в значения по умолчанию через присваивание default
.
Все прагмы, влияющие на оптимизаторы запроса, являются статическими, так как значения динамических прагм на этой стадии ещё не вычислено.
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
Тип значения | По умолчанию | Статическая / динамическая |
---|---|---|
Строка | Логин текущего пользователя | Статическая |
Выбор вычислительного pool в scheduler для операций, выполняющихся на стадии оптимизации.
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> |
Статическая |
Директория для размещения временных таблиц и файлов.
yt.TablesTmpFolder
Тип значения | По умолчанию | Статическая / динамическая |
---|---|---|
Строка | //tmp/yql/<login> |
Статическая |
Директория для размещения временных таблиц. Имеет приоритет над 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
Тип значения | По умолчанию | Статическая / динамическая |
---|---|---|
Строка | — | Статическая |
Выполнение операции в рамках уже запущенной вне 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 и JavaScript UDF). Влияет на разбиение MapReduce-операций на джобы. Может быть переопределён специализированными прагмами yt.PythonCpu
/ yt.JavascriptCpu
для конкретного типа UDF.
yt.PythonCpu
/ yt.JavascriptCpu
Тип значения | По умолчанию | Статическая / динамическая |
---|---|---|
Число с плавающей точкой, не меньше 1.0 | 4.0 | Динамическая |
Множитель для оценки потребления процессора Python UDF и JavaScript UDF, соответственно, влияет на разбиение MapReduce-операций на джобы.
yt.ErasureCodecCpu
Тип значения | По умолчанию | Статическая / динамическая |
---|---|---|
Число с плавающей точкой, не меньше 1.0 | 1.0 | Динамическая |
Множитель для оценки потребления процессора для обработки таблиц, пожатых erasure кодеком. Влияет на разбиение MapReduce-операций на джобы.
yt.ReleaseTempData
Тип значения | По умолчанию | Статическая / динамическая |
---|---|---|
Строка: immediate / finish / never | immediate | Статическая |
Позволяет управлять моментом удаления временных объектов (например таблиц), которые создаются при выполнении запроса:
immediate
— удалять объекты сразу как только они становятся не нужны.finish
— удалять в конце выполнения всего YQL запроса.never
— никогда не удалять.
yt.CoreDumpPath
Тип значения | По умолчанию | Статическая / динамическая |
---|---|---|
Путь на кластере | — | Статическая |
Позволяет сохранить 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
Тип значения | По умолчанию | Статическая / динамическая |
---|---|---|
Байты | — | Статическая |
Если средний размер чанка в получившейся выходной таблице оказался меньше, чем указанная настройка, то запускается дополнительная YT 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.DefaultCluster
Тип значения | По умолчанию | Статическая / динамическая |
---|---|---|
Строка | hahn | Статическая |
Задаёт кластер, на котором по умолчанию выполняются вычисления, не связанные с доступом к таблицам.
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
Тип значения | По умолчанию | Статическая / динамическая |
---|---|---|
Флаг | false | Статическая |
Включает запись значений сложных типов в таблицы с использованием родной поддержки сложных типов в 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.NetworkProject
Тип значения | По умолчанию | Статическая / динамическая |
---|---|---|
Строка | - | Динамическая |
Задаёт использование указанного сетевого проекта в джобах. См. документанцию.
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"
в настройках операций.