RemoteCopy

Операция RemoteCopy копирует таблицы одного кластера на другой. Джобы операции RemoteCopy запускаются на кластере назначения и копируют чанки с исходного кластера (pull-схема). Данная операция копирует чанки в исходном виде, не разжимая их и не меняя erasure-схему. В случае, если входная таблица одна и является сортированной, то выходная таблица тоже будет отсортирована.

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

У операции RemoteCopy поддерживаются следующие дополнительные параметры (в скобках указаны значения по умолчанию, если заданы):

  • cluster_name — имя кластера, с которого необходимо скопировать данные. Описание доступных кластеров можно увидеть в узле //sys/clusters.
  • network_name — имя сети в терминах YTsaurus, которую необходимо использовать при копировании, например fastbone или backbone. На всех узлах удаленного кластера указанная сеть должна быть сконфигурирована.
  • networks — набор сетей в порядке приоритета, которые будут использоваться для копирования данных. Важно: не указывайте эту и предыдущую опцию без согласования с администратором системы.
  • input_table_paths — список таблиц, которые необходимо скопировать.
  • output_table_path — имя таблицы, в которую необходимо скопировать данные.
  • schema_inference_mode (auto) — режим определения схемы. Доступные значения: auto, from_input, from_output. Подробности в разделе Схема данных.
  • cluster_connection — конфигурация для подключения к кластеру-источнику. Настраивается администратором системы YTsaurus при настройке кластера.
  • copy_attributes (false) — копировать атрибуты входной таблицы. Доступно только в случае, когда входная таблица одна. Копируются только пользовательские атрибуты (не системные).
  • attribute_keys — при указании данной опции и включении опции copy_attributes будут копироваться только атрибуты из приведенного списка.

Важно: на production кластерах действует специальное ограничение и RemoteCopy-операции можно запускать только в пулах, у которых в одном из предков стоит ограничение на количество одновременно запущенных джобов (то есть указан атрибут resource_limits со значением user_slots не выше определенного порога).

Пример спецификации

{
  pool = "my_cool_pool";
  network_name = "fastbone";
  input_table_paths = [ "//tmp/input_table" ];
  output_table_paths = "//tmp/output_table";
  copy_attributes = %true;
}
Предыдущая
Следующая