Arrow Flight’s building blocks
Because the methods and message wire format of Arrow Flight are both defined by Protobuf, clients that may support gRPC and Arrow but not Flight can easily still interact with, and communicate with, Arrow Flight servers. There are also specific Flight implementations provided by the Apache Arrow project for some languages. These implementations include optimizations to avoid overhead, such as reducing excessive memory copying when using Protobuf. Because the Protobuf objects are only used for passing metadata, Flight still maintains the benefits of Arrow’s IPC protocol, allowing zero-deserialization to ensure fast delivery of data.
Here are the basic types of requests that a Flight server implements:
Handshake
: A simple request allowing for custom authentication logic and an implementation-defined session token if desired.ListFlights
: This gets a list of the available data streams on the server.GetSchema
: This retrieves...