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'
- Запросите количество строк в этих файлах:
- Запросите количество строк во всех файлах этих двух директорий:
примечание
Если ваш список файлов содержит диапазоны чисел с ведущими нулями, используйте конструкцию с фигурными скобками для каждой цифры отдельно или используйте ?.
Смотрите Также