arrow-flight-sql-client

Crates.ioarrow-flight-sql-client
lib.rsarrow-flight-sql-client
version0.4.0
sourcesrc
created_at2022-06-02 11:12:14.439317
updated_at2022-06-02 18:10:36.089855
descriptionAn Apache Arrow Flight SQL client
homepage
repositoryhttps://github.com/timvw/arrow-flight-sql-client
max_upload_size
id598803
size383,914
Tim Van Wassenhove (timvw)

documentation

README

Arrow Flight SQL Client

flightsqlclient is a small command line app to query a Flight SQL server. You can find instructions to run such a server here: notes on running java FlightSqlExample.

Installation

Using homebrew

brew tap timvw/tap
brew install arrow-flight-sql-client

Using cargo

cargo install arrow-flight-sql-client

Using docker

docker run --rm ghcr.io/timvw/arrow-flight-sql-client:v0.4.0 get-tables --hostname 192.168.1.95

Usage

When you run the app without arguments, you will be greeted with it's usage:

arrow-flight-sql-client

USAGE:
    client <SUBCOMMAND>

OPTIONS:
    -h, --help       Print help information
    -V, --version    Print version information

SUBCOMMANDS:
    execute
    get-catalogs
    get-exported-keys
    get-imported-keys
    get-primary-keys
    get-schemas
    get-table-types
    get-tables
    help                 Print this message or the help of the given subcommand(s)

Listing the available tables can be done as following:

arrow-flight-sql-client get-tables --hostname localhost --port 52358

+--------------+----------------+------------------+--------------+
| catalog_name | db_schema_name | table_name       | table_type   |
+--------------+----------------+------------------+--------------+
|              | SYS            | SYSALIASES       | SYSTEM TABLE |
... (removed some lines to reduce output)
|              | APP            | FOREIGNTABLE     | TABLE        |
|              | APP            | INTTABLE         | TABLE        |
+--------------+----------------+------------------+--------------+

A query can be executed as following:

arrow-flight-sql-client execute --query "select * from app.inttable order by value desc"

+----+--------------+-------+-----------+
| ID | KEYNAME      | VALUE | FOREIGNID |
+----+--------------+-------+-----------+
| 1  | one          | 1     | 1         |
| 2  | zero         | 0     | 1         |
| 3  | negative one | -1    | 1         |
+----+--------------+-------+-----------+
Commit count: 26

cargo fmt