Crates.io | dfq |
lib.rs | dfq |
version | 0.1.1 |
source | src |
created_at | 2023-12-10 01:02:24.090375 |
updated_at | 2023-12-10 02:52:06.075607 |
description | A CLI tool for running SQLs over various data sources. |
homepage | |
repository | https://github.com/zhxiaogg/dfq |
max_upload_size | |
id | 1063969 |
size | 85,602 |
A CLI tool for running SQLs over various data sources using Apache Arrow DataFusion SQL Query Engine.
$ dfq --help
A CLI for running SQLs over various data sources.
Usage: dfq [OPTIONS] [DATA_AND_SQL]...
Arguments:
[DATA_AND_SQL]... data sources and SQL, e.g. `sample.csv "select * from t0"`
Options:
-d, --dialect <DIALECT>
-o, --output <OUTPUT> [default: terminal] [possible values: json, csv, terminal]
-h, --help Print help
$ dfq samples/users.csv samples/orders.csv "select count(*) as num_orders, t0.name from t0 join t1 on t0.id = t1.user group by t0.name order by num_orders"
+------------+--------+
| num_orders | name |
+------------+--------+
| 1 | Henry |
| 2 | Taylor |
+------------+--------+
$ dfq samples/orders.csv "describe t0"
+-------------+-------------------------+-------------+
| column_name | data_type | is_nullable |
+-------------+-------------------------+-------------+
| id | Int64 | YES |
| user | Int64 | YES |
| ts | Timestamp(Second, None) | YES |
| status | Utf8 | YES |
+-------------+-------------------------+-------------+
.json
or .json.gz
.csv
or .csv.gz
.parquet
or .prq
All outputs are directed to stdout now, need the user to manually pipe them to a file if needed.