---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.6
alternate:
  - https://ytsaurus.tech/docs/en/yql/faq/temp.md
  - https://ytsaurus.tech/docs/ru/yql/faq/temp.md
---
> **Documentation Index:** Fetch the complete configuration index at https://ytsaurus.tech/docs/ru/llms.txt

# Временные данные

## Директория для временных данных

Через прагму `yt.TmpFolder` пользователь может задавать директорию для размещения временных таблиц и файлов. Такая необходимость возникает в следующих случаях:
* Нет доступа на запись в директорию `//tmp` YTsaurus-кластера.
* Запрос обрабатывает таблицы с чувствительными данными. По умолчанию временные таблицы и файлы сохраняются в `//tmp`, куда есть доступ на чтение у всех пользователей кластера. Чтобы избежать раскрытия чувствительной информации, необходимо явно задавать в запросе директорию для временных данных, закрытую ACL.

## Контроль роста TmpFolder директории

При использовании в запросе прагмы `yt.TmpFolder` в указанной директории постепенно начинают накапливаться данные. В ней создаются следующие поддиректории:

* query_cache &mdash; [кеш запросов](https://ytsaurus.tech/docs/ru/yql/syntax/pragma.md#querycache);
* tmp &mdash; временные таблицы, которые существуют только на время работы запроса;
* new_cache &mdash; файловый кеш YTsaurus API:
    * исполняемые файлы YQL;
    * пользовательские и системные UDF;
    * приложенные к запросу файлы;
    * таблицы, используемые в MapJoin, если передаются не родным для YTsaurus способом.

Поддиректория query_cache и время жизни её содержимого управляется прагмами [yt.QueryCacheMode](https://ytsaurus.tech/docs/ru/yql/syntax/pragma.md#querycache) и [yt.QueryCacheTtl](https://ytsaurus.tech/docs/ru/yql/syntax/pragma.md#ytquerycachettl). Для `yt.QueryCacheMode="disable"` кеш запросов полностью отключается и данная поддиректория не создаётся/не используется. Прагма `yt.QueryCacheTtl` позволяет ограничить время жизни таблиц в кеше запросов.

Временные таблицы запроса из поддиректории tmp очищаются автоматически после завершения запроса. Исключение составляют запросы, в которых задана прагма `yt.ReleaseTempData="never"`, и таблицы, которые отдаются в результатах запросов как Full result. Временем жизни таких таблиц можно управлять прагмой [yt.TempTablesTtl](https://ytsaurus.tech/docs/ru/yql/syntax/pragma.md#yttemptablesttl). Расположение временных таблиц можно отдельно переопределить через прагму [yt.TablesTmpFolder](https://ytsaurus.tech/docs/ru/yql/syntax/pragma.md#yttablestmpfolder).

Время жизни объектов внутри new_cache управляется прагмой [yt.FileCacheTtl](https://ytsaurus.tech/docs/ru/yql/syntax/pragma.md#ytfilecachettl). Из этой директории можно исключить исполняемые файлы YQL и UDF-ки, задав прагму [yt.BinaryTmpFolder](https://ytsaurus.tech/docs/ru/yql/syntax/pragma.md#ytbinarytmpfolder) с указанием отдельной директории и своим TTL (см. [yt.BinaryExpirationInterval](https://ytsaurus.tech/docs/ru/yql/syntax/pragma.md#ytbinaryexpirationinterval)). Также можно вынести таблицы, используемые в MapJoin, в отдельную директорию через прагму [yt.TableContentTmpFolder](https://ytsaurus.tech/docs/ru/yql/syntax/pragma.md#yt.tablecontenttmpfolder), но при этом стоит помнить, что в данных таблицах могут присутствовать чувствительные данные.

