---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.6
alternate:
  - https://ytsaurus.tech/docs/en/user-guide/data-processing/operations/remote-copy.md
  - https://ytsaurus.tech/docs/ru/user-guide/data-processing/operations/remote-copy.md
---
> **Documentation Index:** Fetch the complete configuration index at https://ytsaurus.tech/docs/ru/llms.txt

<!-- source: ru/_includes/user-guide/data-processing/operations/remote-copy.md -->
# RemoteCopy

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

{% note info %}

Скорость передачи данных между кластерами квотируется. Подробнее см. в разделе [Квотирование межкластерной сетевой полосы](https://ytsaurus.tech/docs/ru/user-guide/data-processing/operations/cluster-throttlers.md).

{% endnote %}

Общие параметры для всех типов операций описаны в разделе [Настройки операций](https://ytsaurus.tech/docs/ru/user-guide/data-processing/operations/operations-options.md).

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

* `cluster_name` — имя кластера, с которого необходимо скопировать данные. Описание доступных кластеров можно увидеть в узле `//sys/clusters`.
* `network_name` — имя сети в терминах YTsaurus, которую необходимо использовать при копировании, например `fastbone` или `backbone`. На всех узлах удаленного кластера указанная сеть должна быть сконфигурирована.
* `networks` — набор сетей в порядке приоритета, которые будут использоваться для копирования данных. **Важно:** не указывайте эту и предыдущую опцию без согласования с администратором системы.
* `input_table_paths` — список из одной таблицы (или одного файла), которую необходимо скопировать.
* `output_table_path` — путь до таблицы или файла, куда необходимо скопировать данные. Если по такому пути есть узел кипариса, то его тип должен совпадать с типом входного узла.
Нельзя cкопировать таблицу в файл и наоборот.
* `schema_inference_mode` (auto) — режим определения схемы. Доступные значения: `auto`, `from_input`, `from_output`. Подробности в разделе [Схема данных](https://ytsaurus.tech/docs/ru/user-guide/storage/static-schema.md#schema_inference).
* `cluster_connection` — конфигурация для подключения к кластеру-источнику. Настраивается администратором системы YTsaurus при настройке кластера.
* `copy_attributes` (false) — копировать атрибуты входной таблицы. Доступно только в случае, когда входная таблица одна. Копируются только пользовательские атрибуты (не системные).
* `attribute_keys` — при указании данной опции и включении опции `copy_attributes` будут копироваться только атрибуты из приведенного списка.


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

```yaml
{
  pool = "my_cool_pool";
  network_name = "fastbone";
  input_table_paths = [ "//tmp/input_table" ];
  output_table_paths = "//tmp/output_table";
  copy_attributes = %true;
  cluster_name = "my_cool_remote_cluster";
}
```

## Динамические таблицы

Операция RemoteCopy (`remote_copy`) поддержана только для [сортированных таблиц](https://ytsaurus.tech/docs/ru/user-guide/dynamic-tables/sorted-dynamic-tables.md). Для копирования упорядоченной таблицы следует сконвертировать её в статическую. Скопировать на другой кластер упорядоченную таблицу с сохранением таблетов невозможно.


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

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

В процессе работы в структуре динамической таблицы могут появляться системные объекты, называемые chunk view. Операция `remote_copy` их не поддерживает, поэтому перед запуском операции необходимо их удалить, выставив в атрибут `forced_chunk_view_compaction_revision` значение `1`, после чего выполнить `remount-table`. Более подробно см. в разделе [Форсированная компактификация](../../../_includes/user-guide/user-guide/dynamic-tables/compaction#forced_compaction).

По умолчанию входная динамическая таблица должна быть заморожена (`frozen`) или отмонтирована (`unmounted`) — иначе операция завершится ошибкой. Параметр `allow_unfrozen_input_tables` (по умолчанию `false`), задаваемый в корне спецификации операции, снимает эту проверку и разрешает копирование в режиме best effort. В этом режиме проверка состояния таблетов пропускается, а данные, не сброшенные на диск на момент копирования, могут не попасть в результат, поэтому консистентность копии не гарантируется. Используйте параметр только тогда, когда допустимо получить потенциально неполную копию.
<!-- endsource: ru/_includes/user-guide/data-processing/operations/remote-copy.md -->