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