Skip to main content

Crate ballista_cli

Crate ballista_cli 

Source
Expand description

§Ballista Command-line Interface

Ballista is a distributed query execution framework, written in Rust, that uses Apache Arrow as its in-memory format.

The Ballista CLI allows SQL queries to be executed by an in-process DataFusion context, or by a distributed Ballista context.

ⓘ
Command Line Client for Ballista distributed query engine.

Usage: ballista-cli [OPTIONS]

Options:
  -p, --data-path <DATA_PATH>    Path to your data, default to current directory
  -c, --batch-size <BATCH_SIZE>  The batch size of each query, or use Ballista default
      --vcores <VCORES>          Virtual cores for the local Ballista executor. Default: all available physical cores.
  -f, --file [<FILE>...]         Execute commands from file(s), then exit
  -r, --rc [<RC>...]             Run the provided files on startup instead of ~/.ballistarc
      --format <FORMAT>          [default: table] [possible values: csv, tsv, table, json, nd-json, automatic]
      --host <HOST>              Ballista scheduler host
      --port <PORT>              Ballista scheduler port
  -q, --quiet                    Reduce printing other than the results and work quietly
      --color                    Enables console syntax highlighting
      --tui                      Enables terminal user interface
  -h, --help                     Print help
  -V, --version                  Print version

§Example

Create a CSV file to query.

$ echo "1,2" > data.csv
$ ballista-cli

Ballista CLI v54.0.0

> CREATE EXTERNAL TABLE foo (a INT, b INT) STORED AS CSV LOCATION 'data.csv';
0 rows in set. Query took 0.001 seconds.

> SELECT * FROM foo;
+---+---+
| a | b |
+---+---+
| 1 | 2 |
+---+---+
1 row in set. Query took 0.017 seconds.

> \q

§Ballista-Cli

If you want to execute the SQL in ballista by ballista-cli, you must build/compile ballista-cli first.

cd datafusion-ballista/ballista-cli
cargo build
cargo install --path .

The Ballista CLI can connect to a Ballista scheduler for query execution.

ballista-cli --host localhost --port 50050

Modules§

command
Command within CLI
exec
Execution functions
functions
Functions that are query-able and searchable via the \h command
helper
Helper that helps with interactive editing, including multi-line parsing and validation, and auto-completion for file name during creating external table.
print_format
Print format variants
print_options

Constants§

BALLISTA_CLI_VERSION