ClickHouse/docs/ru/sql-reference/table-functions/hdfs.md
2024-08-06 11:18:47 +00:00

3.4 KiB
Raw Blame History

slug sidebar_position sidebar_label
/ru/sql-reference/table-functions/hdfs 45 hdfs

hdfs

Создаёт таблицу из файла в HDFS. Данная табличная функция похожа на табличные функции url и file.

hdfs(URI, format, structure)

Входные параметры

  • URI — URI файла в HDFS.
  • formatформат файла.
  • structure — структура таблицы. Формат 'column1_name column1_type, column2_name column2_type, ...'.

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

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

Пример

Таблица из hdfs://hdfs1:9000/test и выборка первых двух строк из неё:

SELECT *
FROM hdfs('hdfs://hdfs1:9000/test', 'TSV', 'column1 UInt32, column2 UInt32, column3 UInt32')
LIMIT 2
┌─column1─┬─column2─┬─column3─┐
│       1 │       2 │       3 │
│       3 │       2 │       1 │
└─────────┴─────────┴─────────┘

Шаблоны поиска в компонентах пути

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

  • * — Заменяет любое количество любых символов (кроме /), включая отсутствие символов.
  • ** — Заменяет любое количество любых символов, включая /, то есть осуществляет рекурсивный поиск по вложенным директориям.
  • ? — Заменяет ровно один любой символ.
  • {some_string,another_string,yet_another_one} — Заменяет любую из строк 'some_string', 'another_string', 'yet_another_one'. Эти строки также могут содержать символ /.
  • {N..M} — Заменяет любое число в интервале от N до M включительно (может содержать ведущие нули).

Конструкция с {} аналогична табличной функции remote, file.

:::danger Предупреждение Если ваш список файлов содержит интервал с ведущими нулями, используйте отдельную конструкцию с фигурными скобками для каждой цифры или используйте ?. :::

Виртуальные столбцы

  • _path — Путь к файлу.
  • _file — Имя файла.

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