Перейти к основному содержанию
Движок таблицы ArrowFlight позволяет ClickHouse выполнять запросы к удалённым наборам данных и вставку в них по протоколу Apache Arrow Flight. Эта интеграция позволяет ClickHouse с высокой производительностью взаимодействовать с внешними серверами с поддержкой Flight в столбцовом формате Apache Arrow.

Создание таблицы

Параметры движка
  • host:port — Адрес удалённого сервера Arrow Flight. Если порт не указан, используется порт по умолчанию 8815. String.
  • dataset_name — Идентификатор набора данных на сервере Flight (используется как дескриптор PATH или в запросе SELECT * в зависимости от настройки arrow_flight_request_descriptor_type). String.
  • username — Имя пользователя для HTTP-аутентификации Basic. String.
  • password — Пароль для HTTP-аутентификации Basic. String.
Если username и password не указаны, аутентификация не используется (это работает, только если сервер Arrow Flight допускает неаутентифицированный доступ). Список столбцов необязателен — если он не указан, схема определяется автоматически на удалённом сервере Arrow Flight через GetSchema.

Именованные коллекции

Движок поддерживает именованные коллекции для хранения параметров подключения:
Параметры именованной коллекции:

Настройки

  • arrow_flight_request_descriptor_type — Определяет, как имя набора данных отправляется на сервер Flight. Возможные значения: path (по умолчанию, отправляется как дескриптор PATH) или command (отправляется как дескриптор CMD с SELECT * FROM <dataset>). Используйте command для серверов Flight, которые ожидают SQL-команды (например, Dremio).

Пример использования

Чтение данных с удалённого сервера Arrow Flight:
Вставка данных на удалённый сервер Arrow Flight:

Примечания

  • Если в операторе CREATE TABLE указаны столбцы, они должны соответствовать схеме, возвращаемой сервером Flight.
  • Если столбцы не указаны, схема автоматически определяется на основе данных удалённого сервера.
  • Поддерживаются как чтение (SELECT), так и запись (INSERT).
  • Параметр arrow_flight_request_descriptor_type определяет, будет ли имя набора данных отправлено как дескриптор PATH или как дескриптор CMD, содержащий запрос SELECT *.

См. также

Последнее изменение 2 июля 2026 г.