Табличная функция hudiCluster
Это расширение табличной функции hudi.
Позволяет параллельно обрабатывать файлы из таблиц Apache Hudi в Amazon S3 на многих узлах заданного кластера. На инициирующем узле создаётся соединение со всеми узлами кластера, и каждый файл динамически распределяется между ними. Рабочий узел запрашивает у инициирующего узла следующую задачу для обработки и выполняет её. Это повторяется до тех пор, пока все задачи не будут завершены.
Синтаксис
Аргументы
| Аргумент | Описание |
|---|---|
cluster_name | Имя кластера, которое используется для формирования набора адресов и параметров подключения к удалённым и локальным серверам. |
url | URL бакета с путём к существующей таблице 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.