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

Табличные Функции

Табличные функции — это методы для создания таблиц.

Вы можете использовать табличные функции в:

  • FROM части запроса SELECT.

    Метод создания временной таблицы, которая доступна только в текущем запросе. Таблица удаляется, когда запрос завершается.

  • CREATE TABLE AS table_function() запросе.

    Это один из методов создания таблицы.

  • INSERT INTO TABLE FUNCTION запросе.

примечание

Вы не можете использовать табличные функции, если настройка allow_ddl отключена.

СтраницаОписание
fileClusterВключает одновременную обработку файлов, соответствующих указанному пути, на нескольких узлах кластера. Инициатор устанавливает соединения с рабочими узлами, расширяет шаблоны в пути к файлу и делегирует задачи чтения файлов рабочим узлам. Каждый рабочий узел запрашивает у инициатора следующий файл для обработки, повторяя до завершения всех задач (все файлы прочитаны).
inputТабличная функция, которая позволяет эффективно конвертировать и вставлять данные, отправленные на сервер с заданной структурой, в таблицу с другой структурой.
icebergОбеспечивает интерфейс, похожий на таблицу, только для чтения, к таблицам Apache Iceberg в Amazon S3, Azure, HDFS или локально хранящимся.
executableТабличная функция executable создает таблицу на основе вывода пользовательской функции (UDF), которую вы определяете в скрипте, выводящем строки в stdout.
timeSeriesMetricstimeSeriesMetrics возвращает таблицу метрик, используемую таблицей db_name.time_series_table, чье движок таблицы — TimeSeries.
loopТабличная функция loop в ClickHouse используется для возвращения результатов запроса в бесконечном цикле.
urlСоздает таблицу из URL с заданным формат и структуре
hudiОбеспечивает интерфейс, похожий на таблицу, только для чтения, к таблицам Apache Hudi в Amazon S3.
fuzzQueryИзменяет заданную строку запроса случайными вариациями.
clusterAllReplicasПозволяет получить доступ ко всем шартам (настроенным в разделе remote_servers) кластера без создания распределенной таблицы.
urlClusterПозволяет обрабатывать файлы по URL параллельно с разных узлов в указанном кластере.
redisЭта табличная функция позволяет интегрировать ClickHouse с Redis.
icebergClusterРасширение табличной функции iceberg, позволяющее параллельно обрабатывать файлы из Apache Iceberg на многих узлах в указанном кластере.
viewПревращает подзапрос в таблицу. Функция реализует представления.
fileДвижок таблицы, который предоставляет интерфейс, похожий на таблицу, для выполнения SELECT и INSERT из файлов, аналогично функции s3. Используйте file() при работе с локальными файлами и s3() при работе с хранилищами объектов, такими как S3, GCS или MinIO.
timeSeriesTagsТабличная функция timeSeriesTags возвращает таблицу тегов, используемую таблицей db_name.time_series_table, чье движок таблицы — TimeSeries.
mysqlПозволяет выполнять запросы SELECT и INSERT на данных, хранящихся на удаленном сервере MySQL.
mergeTreeProjectionПредставляет содержимое некоторой проекции в таблицах MergeTree. Может быть использована для инстроспекции.
s3 Table FunctionОбеспечивает интерфейс, похожий на таблицу, для выбора/вставки файлов в Amazon S3 и Google Cloud Storage. Эта табличная функция аналогична функции hdfs, но предоставляет специфические функции для S3.
dictionaryОтображает данные словаря как таблицу ClickHouse. Работает так же, как движок Dictionary.
hdfsСоздает таблицу из файлов в HDFS. Эта табличная функция аналогична функциям url и file.
fuzzJSONИзменяет строку JSON случайными вариациями.
hdfsClusterПозволяет обрабатывать файлы из HDFS параллельно на многих узлах в указанном кластере.
zerosИспользуется в тестовых целях как самый быстрый метод для генерации множества строк. Аналогично системным таблицам system.zeros и system.zeros_mt.
valuesсоздает временное хранилище, которое заполняет колонки значениями.
generateRandomГенерирует случайные данные с заданной схемой. Позволяет заполнять тестовые таблицы этими данными. Не все типы поддерживаются.
deltaLakeОбеспечивает интерфейс, похожий на таблицу, только для чтения, к таблицам Delta Lake в Amazon S3.
gcsПредоставляет интерфейс, похожий на таблицу, для SELECT и INSERT данных из Google Cloud Storage. Требует IAM роли Storage Object User.
mergeTreeIndexПредставляет содержимое индексных и меток файлов таблиц MergeTree. Может быть использована для инстроспекции.
postgresqlПозволяет выполнять запросы SELECT и INSERT на данных, хранящихся на удаленном сервере PostgreSQL.
timeSeriesDatatimeSeriesData возвращает таблицу данных, используемую таблицей db_name.time_series_table, чье движок таблицы — TimeSeries.
azureBlobStorageПредоставляет интерфейс, похожий на таблицу, для выбора/вставки файлов в Azure Blob Storage. Похожа на функцию s3.
odbcВозвращает таблицу, которая подключена через ODBC.
mergeСоздает временную таблицу Merge. Структура будет выведена из базовых таблиц с использованием объединения их колонок и определения общих типов.
hudiCluster Table FunctionРасширение табличной функции hudi. Позволяет параллельно обрабатывать файлы из таблиц Apache Hudi в Amazon S3 на многих узлах в указанном кластере.
generate_series (generateSeries)Возвращает таблицу с единственным столбцом generate_series (UInt64), который содержит целые числа от начала до конца включительно.
azureBlobStorageClusterПозволяет параллельно обрабатывать файлы из Azure Blob Storage на многих узлах в указанном кластере.
jdbcВозвращает таблицу, которая подключена через JDBC драйвер.
formatПарсит данные из аргументов в соответствии с указанным форматом ввода. Если аргумент структура не указан, он извлекается из данных.
s3ClusterРасширение табличной функции s3, которое позволяет параллельно обрабатывать файлы из Amazon S3 и Google Cloud Storage на многих узлах в указанном кластере.
TODO: Add titleTODO: Добавить описание
sqliteПозволяет выполнять запросы к данным, хранящимся в базе данных SQLite.
deltaLakeClusterЭто расширение табличной функции deltaLake.
numbersВозвращает таблицы с единственным столбцом number, который содержит задаваемые целые числа.
nullСоздает временную таблицу заданной структуры с движком Null. Функция используется для удобства написания тестов и демонстраций.
remote, remoteSecureТабличная функция remote позволяет получать доступ к удаленным серверам на лету, т.е. без создания распределенной таблицы. Табличная функция remoteSecure аналогична remote, но через защищенное соединение.
mongodbПозволяет выполнять запросы SELECT к данным, хранящимся на удаленном сервере MongoDB.