Перейти к основному содержимому
Перейти к основному содержимому

Функция таблицы fileCluster

Включает одновременную обработку файлов, соответствующих заданному пути, на нескольких узлах кластера. Инициатор устанавливает соединения с рабочими узлами, расширяет шаблоны в пути к файлам и делегирует задачи чтения файлов рабочим узлам. Каждый рабочий узел запрашивает у инициатора следующий файл для обработки, повторяя процесс до завершения всех задач (все файлы прочитаны).

примечание

Эта функция будет работать корректно только в случае, если набор файлов, соответствующих изначально указанному пути, идентичен на всех узлах, а их содержимое согласовано на разных узлах.
Если эти файлы различаются между узлами, возвращаемое значение не может быть предопределено и зависит от порядка, в котором рабочие узлы запрашивают задачи у инициатора.

Синтаксис

Аргументы

  • cluster_name — Имя кластера, которое используется для построения набора адресов и параметров подключения к удалённым и локальным серверам.
  • path — Относительный путь к файлу от user_files_path. Путь к файлу также поддерживает шаблоны.
  • formatФормат файлов. Тип: String.
  • structure — Структура таблицы в формате 'UserID UInt64, Name String'. Определяет имена и типы колонок. Тип: String.
  • compression_method — Метод сжатия. Поддерживаемые типы сжатия: gz, br, xz, zst, lz4 и bz2.

Возвращаемое значение

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

Пример

Дан кластер с именем my_cluster и следующее значение настройки user_files_path:

Также даны файлы test1.csv и test2.csv внутри user_files_path каждого узла кластера, и их содержимое идентично на разных узлах:

Например, можно создать эти файлы, выполнив следующие два запроса на каждом узле кластера:

Теперь прочитайте содержимое данных из test1.csv и test2.csv с помощью функции таблицы fileCluster:

Шаблоны в пути

Все шаблоны, поддерживаемые функцией таблицы File, поддерживаются и функцией FileCluster.

Смотрите также