USER MANUALS


Access Through Arrow Flight-SQL

Arrow Flight SQL is a protocol designed for high-performance, distributed database query execution using Apache Arrow’s columnar data format. It provides a standard interface, similar to ODBC or JDBC, for applications to interact with SQL databases. By leveraging Arrow’s in-memory format and the Flight RPC framework, it enables efficient data transport and processing, particularly in big data and cloud environments. It supports a variety of platforms and tools, ensuring compatibility across different systems and enhancing query speed and scalability.

Current Restrictions

  • The system supports username/password authentication for client connections.

  • Parameterized queries are not currently supported.

Type mapping: Virtual DataPort to Apache Arrow

In our system, we map Virtual DataPort data types to Apache Arrow types based on the information provided in the field’s data type and defined subtype (if applicable). This mapping ensures that data from Virtual DataPort is appropriately represented when transported in the Apache Arrow format for efficient in-memory processing.

Mapping: Virtual DataPort Types to Arrow Types

Virtual DataPort Type

Source Type

Arrow Type

BLOB

BINARY

BINARY

BLOB

BINARY

LONGVARBINARY

BINARY

VARBINARY

BINARY

BOOLEAN

BIT

BOOLEAN

BOOLEAN

BOOLEAN

DATE(DEPRECATED)

TIMESTAMP_W_TZ

TIMESTAMP(MICROSECOND, TZ)

DATE

DATE(DAY)

TIME

TIME(MICROSECOND, 32 bits)

TIMESTAMP

TIMESTAMP(MICROSECOND)

DECIMAL

DECIMAL

DECIMAL(256 bits)

DOUBLE

FLOATINGPOINT(DOUBLE)

FLOAT

FLOATINGPOINT(SINGLE)

NUMERIC

DECIMAL(256 bits)

REAL

FLOATINGPOINT(SINGLE)

DOUBLE

DECIMAL

DECIMAL(256 bits)

DOUBLE

FLOATINGPOINT(DOUBLE)

FLOAT

FLOATINGPOINT(SINGLE)

NUMERIC

DECIMAL(256 bits)

REAL

FLOATINGPOINT(SINGLE)

FLOAT

DECIMAL

DECIMAL(128 bits)

DOUBLE

FLOATINGPOINT(DOUBLE)

FLOAT

FLOATINGPOINT(SINGLE)

NUMERIC

DECIMAL(128 bits)

REAL

FLOATINGPOINT(SINGLE)

INT

BIGINT

INT(64 bits)

DECIMAL

DECIMAL(128 bits)

INTEGER

INT(32 bits)

NUMERIC

DECIMAL(128 bits)

SMALLINT

INT(16 bits)

TINYINT

INT(8 bits)

INTERVALDAYSECOND

INTERVAL_DAY_TO_SECOND

INTERVAL(MONTH_DAY_NANO)

INTERVALYEARMONTH

INTERVAL_YEAR_TO_MONTH

INTERVAL(MONTH_DAY_NANO)

LOCALDATE

DATE

DATE(DAY)

LONG

BIGINT

INT(64 bits)

DECIMAL

DECIMAL(256 bits)

INTEGER

INT(32 bits)

NUMERIC

DECIMAL(256 bits)

SMALLINT

INT(16 bits)

TINYINT

INT(8 bits)

TEXT

CHAR

UTF8

CLOB

UTF8

DATALINK

UTF8

LONGVARCHAR

UTF8

LONGNVARCHAR

UTF8

NCHAR

UTF8

NCLOB

UTF8

NVARCHAR

UTF8

TIME

TIME

TIME(MICROSECOND, 32)

TIMESTAMPTZ

TIMESTAMP_W_TZ

TIMESTAMP(MICROSECOND, TZ)

TIMESTAMP

TIMESTAMP

TIMESTAMP(MICROSECOND)

XML

CLOB

UTF8

SQLXML

UTF8

LONGVARCHAR

UTF8

LONGNVARCHAR

UTF8

VARCHAR

UTF8

NCLOB

UTF8

NVARCHAR

UTF8

ARRAY

ARRAY

LIST

STRUCT

STRUCT

STRUCT

Note

Mapping for types TIME, TIMESTAMPTZ and TIMESTAMP can differ if connection parameters timePrecision or timeStampPrecision are specified. See Access using Flight SQL for more information about parameters.

Add feedback