FAQ
Q: Можно ли положить в ячейку таблицы произвольную YSON-структуру?
A: Можно, для этого подходят колонки типа any
.
Q: Можно ли изменять схему таблицы?
A: Можно, примеры и ограничения можно найти в разделе Схема таблиц.
Q: Насколько большие файлы поддерживает система?
A: Формально длина файла ограничена лишь 64-битным целым типом. Фактически — размером свободного места на узлах кластера. Поскольку файл делится на чанки, то он не обязан храниться на одном узле, поэтому он может превышать размер одного жесткого диска. Настолько большие файлы не могут обрабатываться одним джобом, поэтому работа с ними будет сводиться к использованию команды read_file и чтению по диапазонам.
Q: Как переложить таблицу с HDD на SSD?
A: Изменение типа носителя для таблицы или файла осуществляется путём редактирования первичного медиума таблицы через атрибут primary_medium
. Перед тем, как изменять данный атрибут, таблицу нужно отмонтировать (а в конце смонтировать назад, чтобы вернуть все в прежнее состояние). Например:
yt unmount-table --sync //home/path/to/table
yt set //home/path/to/table/@primary_medium ssd_blobs
yt mount-table --sync //home/path/to/table
Сразу после выставления атрибута новые данные будут записываться на SSD, старые данные будут переложены в фоне. Подробнее о том, как влиять на данный процесс и отслеживать его динамику, в разделе статические таблицы.
Q: Что делать, если чтение таблицы тормозит?
A: Про это есть отдельная страница.
Q: Как уменьшить число используемых чанков в своей квоте?
A: Если эти чанки занимают таблицы (а это типичный случай), то следует запустить операцию Merge с параметром combine_chunks = %true
.
Таблица будет пересобрана из более крупных чанков, тем самым можно уменьшить использование чанков в своей квоте. Из командной строки операцию можно запустить командой, заменив src table
и dst table
:
yt merge --src table --dst table --spec "{combine_chunks=true}"
Существует возможность контролировать потребление чанков и без запуска отдельной операции, Подробнее можно прочитать в разделе Автоматическое слияние чанков на выходе операций.
Также в некоторых случаях большое количество чанков может потребляться файлами. Например, когда к существующим файлам постоянно дописываются небольшие фрагменты. В настоящий момент нет готовых способов, аналогичных операции Merge, для выполнения объединения чанков файлов. Можно выполнить комбинацию yt read-file //path/to/file | yt write-file //path/to/file
. При этом весь поток данных пойдет через клиента.
Q: Получаю ошибку: Format "YamredDsv" is disabled. Что делать?
A: Формат YAMRED_DSV
больше не поддерживается. Стоит воспользоваться другим форматом.