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.
$ 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.
The Ballista CLI can connect to a Ballista scheduler for query execution.