hdfsCluster Табличная Функция
Позволяет обрабатывать файлы из HDFS параллельно с многих узлов в указанном кластере. На инициаторе создается соединение со всеми узлами в кластере, раскрываются подстановочные знаки в пути к файлам HDFS и динамически распределяются каждое задание. На рабочем узле он запрашивает у инициатора следующее задание для обработки и выполняет его. Это повторяется до завершения всех заданий.
Синтаксис
Аргументы
cluster_name
— Название кластера, который используется для построения набора адресов и параметров соединения с удаленными и локальными серверами.URI
— URI к файлу или группе файлов. Поддерживает следующие подстановочные знаки в режиме только для чтения:*
,**
,?
,{'abc','def'}
и{N..M}
, гдеN
,M
— числа,abc
,def
— строки. Для получения дополнительной информации смотрите Подстановочные Знаки В Путях.format
— формат файла.structure
— Структура таблицы. Формат'column1_name column1_type, column2_name column2_type, ...'
.
Возвращаемое значение
Таблица с заданной структурой для чтения данных из указанного файла.
Примеры
- Предположим, что у нас есть кластер ClickHouse под названием
cluster_simple
, и несколько файлов со следующими URI на HDFS:
- 'hdfs://hdfs1:9000/some_dir/some_file_1'
- 'hdfs://hdfs1:9000/some_dir/some_file_2'
- 'hdfs://hdfs1:9000/some_dir/some_file_3'
- 'hdfs://hdfs1:9000/another_dir/some_file_1'
- 'hdfs://hdfs1:9000/another_dir/some_file_2'
- 'hdfs://hdfs1:9000/another_dir/some_file_3'
- Запросите количество строк в этих файлах:
- Запросите количество строк во всех файлах этих двух директорий:
примечание
Если ваш список файлов содержит диапазоны чисел с ведущими нулями, используйте конструкцию с фигурными скобками для каждой цифры отдельно или используйте ?
.
Смотрите Также