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

hudiCluster Табличная Функция

Это расширение для табличной функции hudi.

Позволяет обрабатывать файлы из таблиц Apache Hudi в Amazon S3 параллельно с множеством узлов в указанном кластере. На инициаторе создается соединение со всеми узлами кластера и динамически распределяет каждый файл. На рабочем узле он запрашивает у инициатора следующую задачу для обработки и выполняет её. Это повторяется до тех пор, пока все задачи не будут завершены.

Синтаксис

hudiCluster(cluster_name, url [,aws_access_key_id, aws_secret_access_key] [,format] [,structure] [,compression])

Аргументы

АргументОписание
cluster_nameИмя кластера, которое используется для построения набора адресов и параметров соединения с удаленными и локальными серверами.
urlURL корзины с путем к существующей таблице Hudi в S3.
aws_access_key_id, aws_secret_access_keyДолгосрочные учетные данные для пользователя учетной записи AWS. Вы можете использовать их для аутентификации ваших запросов. Эти параметры являются необязательными. Если учетные данные не указаны, используются те, что заданы в конфигурации ClickHouse. Для получения дополнительной информации см. Использование S3 для хранения данных.
formatФормат файла.
structureСтруктура таблицы. Формат: 'column1_name column1_type, column2_name column2_type, ...'.
compressionПараметр является необязательным. Поддерживаемые значения: none, gzip/gz, brotli/br, xz/LZMA, zstd/zst. По умолчанию сжатие будет автоматически определяться по расширению файла.

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

Таблица с указанной структурой для чтения данных из кластера в указанной таблице Hudi в S3.

Виртуальные колонки

  • _path — Путь к файлу. Тип: LowCardinality(String).
  • _file — Имя файла. Тип: LowCardinality(String).
  • _size — Размер файла в байтах. Тип: Nullable(UInt64). Если размер файла неизвестен, значение равно NULL.
  • _time — Время последнего изменения файла. Тип: Nullable(DateTime). Если время неизвестно, значение равно NULL.
  • _etag — Etag файла. Тип: LowCardinality(String). Если etag неизвестен, значение равно NULL.