跳转到主要内容
ArrowFlight 表引擎使 ClickHouse 能够通过 Apache Arrow Flight 协议读取和写入远程数据集。 该集成使 ClickHouse 能够以高性能通过列式 Arrow 格式与外部支持 Flight 的服务器交互。

创建表

引擎参数
  • host:port — 远程 Arrow Flight 服务器的地址。如果省略端口,则使用默认端口 8815String
  • dataset_name — Flight 服务器上的数据集标识符 (具体用作 PATH 描述符还是用于 SELECT * 查询,取决于 arrow_flight_request_descriptor_type 设置) 。String
  • username — 用于基本 HTTP 身份验证的用户名。String
  • password — 用于基本 HTTP 身份验证的密码。String
如果省略 usernamepassword,则不使用身份验证 (仅当 Arrow Flight 服务器允许未身份验证访问时才可行) 。 列列表是可选的——如果省略,则会通过 GetSchema 从远程 Arrow Flight 服务器推断 schema。

命名集合

该引擎支持通过命名集合存储连接参数:
命名集合参数:

设置

  • arrow_flight_request_descriptor_type — 控制向 Flight 服务器发送数据集名称的方式。可能的值:path (默认值,以 PATH 描述符形式发送) 或 command (以 CMD 描述符形式发送,内容为 SELECT * FROM <dataset>) 。对于需要 SQL 命令的 Flight 服务器 (例如 Dremio) ,请使用 command

使用示例

从远程 Arrow Flight 服务器读取数据:
向远程 Arrow Flight 服务器插入数据:

注意事项

  • 如果在 CREATE TABLE 语句中指定了列,则这些列必须与 Flight 服务器 返回的 schema 一致。
  • 如果省略列,则会自动根据远程 server 推断 schema。
  • 支持读取 (SELECT) 和写入 (INSERT) 。
  • arrow_flight_request_descriptor_type 设置用于控制将数据集名称作为 PATH 描述符发送,还是作为封装 SELECT * 查询的 CMD 描述符发送。

另请参见

最后修改于 2026年7月3日