Creating a Table
host:port— Address of the remote Arrow Flight server. If the port is omitted, the default port8815is used. String.dataset_name— Identifier of the dataset on the Flight server (used as a PATH descriptor or in aSELECT *query depending on thearrow_flight_request_descriptor_typesetting). String.username— Username for basic HTTP authentication. String.password— Password for basic HTTP authentication. String.
username and password are omitted, authentication is not used (this works only if the Arrow Flight server allows unauthenticated access).
The column list is optional — if omitted, the schema is inferred from the remote Arrow Flight server via GetSchema.
Named Collections
The engine supports named collections for storing connection parameters:Settings
arrow_flight_request_descriptor_type— Controls how the dataset name is sent to the Flight server. Possible values:path(default, sends as a PATH descriptor) orcommand(sends as a CMD descriptor withSELECT * FROM <dataset>). Usecommandfor Flight servers that expect SQL commands (e.g., Dremio).arrow_flight_request_timeout_sec— Timeout in seconds for a single Arrow Flight request, default300. It bounds the whole request: for aSELECTthat is the entire result stream, not just the wait for the first record batch.0means no timeout, in which case a Flight server that accepts a request and never answers blocks the query until the connection is closed.
Usage Example
Reading data from a remote Arrow Flight server:Notes
- If columns are specified in the
CREATE TABLEstatement, they must match the schema returned by the Flight server. - If columns are omitted, the schema is inferred automatically from the remote server.
- Both reading (
SELECT) and writing (INSERT) are supported. - The
arrow_flight_request_descriptor_typesetting controls whether the dataset name is sent as a PATH descriptor or as a CMD descriptor wrapping aSELECT *query.