2个版本
0.1.1 | 2023年12月10日 |
---|---|
0.1.0 | 2023年12月10日 |
#2562 在 数据库接口
25KB
150 行
DFQ - 数据融合查询
使用 Apache Arrow DataFusion SQL查询引擎在各种数据源上运行SQL的命令行工具。
用法
$ 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文件,以
.json
或.json.gz
结尾 - (待办) 本地JSON数组文件
- 本地CSV文件,以
.csv
或.csv.gz
结尾 - Parquet文件,以
.parquet
或.prq
结尾
支持的输出格式
- 打印的表格格式(默认)
- JSON数组格式
- JSON行分隔格式
- CSV
- Parquet
所有输出现在都指向stdout,如果需要,用户需要手动将它们重定向到文件。
依赖项
~60MB
~1M SLoC