跳到主要内容
跳到主要内容

Apache Arrow Flight Interface

ClickHouse supports integration with the Apache Arrow Flight protocol — a high-performance RPC framework designed for efficient columnar data transport using the Arrow IPC format over gRPC.

This interface allows Flight SQL clients to query ClickHouse and retrieve results in the Arrow format, providing high throughput and low latency for analytical workloads.

Features

  • Execute SQL queries via the Arrow Flight SQL protocol
  • Stream query results in Apache Arrow format
  • Integration with BI tools and custom data applications that support Arrow Flight
  • Lightweight and performant communication over gRPC

Limitations

The Arrow Flight interface is currently experimental and under active development. Known limitations include:

  • Limited support for complex ClickHouse-specific SQL features
  • Not all Arrow Flight SQL metadata operations are implemented yet
  • No built-in authentication or TLS configuration in the reference implementation

If you encounter compatibility issues or would like to contribute, please create an issue in the ClickHouse repository.

Running the Arrow Flight Server

To enable the Arrow Flight server in a self-managed ClickHouse instance, add the following configuration to your server config:

Restart the ClickHouse server. Upon successful startup, you should see a log message similar to:

Connecting to ClickHouse via Arrow Flight SQL

You can use any client that supports Arrow Flight SQL. For example, using pyarrow:

Compatibility

The Arrow Flight interface is compatible with tools that support Arrow Flight SQL including custom applications built with:

  • Python (pyarrow)
  • Java (arrow-flight)
  • C++ and other gRPC-compatible languages

If a native ClickHouse connector is available for your tool (e.g. JDBC, ODBC), prefer using it unless Arrow Flight is specifically required for performance or format compatibility.

Query Cancellation

Long-running queries can be cancelled by closing the gRPC connection from the client. Support for more advanced cancellation features is planned.


For more details, see: