未提供项目描述
项目描述
Columnq
一个简单的CLI,可以帮助您查询表格数据,支持丰富的增长格式和数据源。
它支持JSON、CSV、Parquet、Arrow以及其他ROAPI支持的所有格式,有关详细信息请参阅此处。
它还支持从远程位置(如S3和HTTPs)查询数据集,有关更多信息,请参阅ROAPI的blob存储文档。
安装
预构建的二进制文件
GitHub发布页面GitHub releases上托管的预构建二进制文件。这些二进制文件是自包含的,所以您可以将其直接放入PATH中。
相同的二进制文件集也通过PyPI分发
pip install columnq-cli
从源码构建
cargo install --locked --git https://github.com/roapi/roapi --branch main --bins columnq-cli
用法
一次性查询
sql
子命令执行提供的SQL查询,针对特定的静态数据集,并在退出时将结果输出到stdout。这对于脚本自动化任务非常有用。
$ columnq sql --table test_data/spacex_launches.json \
"SELECT COUNT(id), DATE_TRUNC('year', CAST(date_utc AS TIMESTAMP)) as d FROM spacex_launches WHERE success = true GROUP BY d ORDER BY d DESC"
+-----------+---------------------+
| COUNT(id) | d |
+-----------+---------------------+
| 4 | 2021-01-01 00:00:00 |
| 26 | 2020-01-01 00:00:00 |
| 13 | 2019-01-01 00:00:00 |
| 21 | 2018-01-01 00:00:00 |
| 18 | 2017-01-01 00:00:00 |
| 8 | 2016-01-01 00:00:00 |
| 6 | 2015-01-01 00:00:00 |
| 6 | 2014-01-01 00:00:00 |
| 3 | 2013-01-01 00:00:00 |
| 2 | 2012-01-01 00:00:00 |
| 2 | 2010-01-01 00:00:00 |
| 1 | 2009-01-01 00:00:00 |
| 1 | 2008-01-01 00:00:00 |
+-----------+---------------------+
默认情况下,sql
子命令以人类友好的表格格式输出结果。您可以使用--output
选项更改输出格式,使其更适合自动化。
$ columnq sql --table test_data/spacex_launches.json --output json "SELECT COUNT(id) AS total_launches FROM spacex_launches"
[{"total_launches":132}]
使用UNIX管道自动化
与其他UNIX工具一样,columnq支持从stdin消耗数据流,以便通过UNIX管道与其他CLI工具集成
find . -printf "%M|%n|%u|%s|%P\n" | columnq sql \
--table 't=stdin,format=csv,has_header=false,delimiter=|' \
"SELECT SUM(column_4) as total_size FROM t"
+------------+
| total_size |
+------------+
| 9875017987 |
+------------+
格式转换
Columnq CLI还可以用作方便的工具,在多种表格数据格式之间进行转换:json
、parquet
、csv
、yaml
、arrow
等。
$ columnq sql --table 't=test_data/uk_cities_with_headers.csv' 'SELECT * FROM t' --output json
$ cat test_data/blogs.parquet | columnq sql --table 't=stdin,format=parquet' 'SELECT * FROM t' --output json
交互式控制台
对于数据集探索,您可以使用console
子命令在交互式控制台环境中查询多个数据集
$ columnq console \
--table "uk_cities=test_data/uk_cities_with_headers.csv" \
--table "test_data/spacex_launches.json"
columnq(sql)> SELECT * FROM uk_cities WHERE lat > 57;
+-----------------------------+-----------+-----------+
| city | lat | lng |
+-----------------------------+-----------+-----------+
| Elgin, Scotland, the UK | 57.653484 | -3.335724 |
| Aberdeen, Aberdeen City, UK | 57.149651 | -2.099075 |
| Inverness, the UK | 57.477772 | -4.224721 |
+-----------------------------+-----------+-----------+
columnq(sql)> SELECT COUNT(*) FROM spacex_launches WHERE success=true AND upcoming=false;
+-----------------+
| COUNT(UInt8(1)) |
+-----------------+
| 111 |
+-----------------+
探索内存目录和表模式
columnq(sql)> SHOW TABLES;
+---------------+--------------------+-----------------+------------+
| table_catalog | table_schema | table_name | table_type |
+---------------+--------------------+-----------------+------------+
| datafusion | public | uk_cities | BASE TABLE |
| datafusion | public | spacex_launches | BASE TABLE |
| datafusion | information_schema | tables | VIEW |
| datafusion | information_schema | columns | VIEW |
+---------------+--------------------+-----------------+------------+
columnq(sql)> SHOW COLUMNS FROM uk_cities;
+---------------+--------------+------------+-------------+-----------+-------------+
| table_catalog | table_schema | table_name | column_name | data_type | is_nullable |
+---------------+--------------+------------+-------------+-----------+-------------+
| datafusion | public | uk_cities | city | Utf8 | NO |
| datafusion | public | uk_cities | lat | Float64 | NO |
| datafusion | public | uk_cities | lng | Float64 | NO |
+---------------+--------------+------------+-------------+-----------+-------------+
开发
调试模式
将环境变量RUST_LOG
设置为info,columnq=debug
以在详细调试日志中运行columnq。
项目详情
关闭
columnq_cli-0.5.2-py3-none-win_amd64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5ab20384c7296c2d55cd8b98be4ead067c616e3d7901571b0f58ba9ef526ee8d |
|
MD5 | 4b8f536b3d368106f1ab67d6f28e4310 |
|
BLAKE2b-256 | f000ccb577aa4f5d7ebfc752f9aaa5692457538a491853c413100b8d4ae57382 |
关闭
columnq_cli-0.5.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f86d558f7027f0e151c939d60a3d748f886e2e60fdd31e52394d3c0ea17b1d69 |
|
MD5 | 7a96981cec65ec6f6217698db496c477 |
|
BLAKE2b-256 | 22395e047a6d408c25306c6aec1d033aa4afec6f2236472026e6959b85cee400 |
关闭
columnq_cli-0.5.2-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 83b7c08bb4bf04c402167eaab06cb63d9daa51524a07295d0b1e715760c870ce |
|
MD5 | 28d603a0a9326e67a52ef22400d60054 |
|
BLAKE2b-256 | 29c4fd3963c5e4cf2bf1c370c0d698a7af9924944fbf4c244500e6f06e0afe3d |
关闭
哈希值 用于 columnq_cli-0.5.2-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2396cf2256d628dec275bcebbf759da62f4f33ac48a78d5630701d3e6141d370 |
|
MD5 | 15eb652ddba762180fc1720742e8fb5a |
|
BLAKE2b-256 | 90cad0c3911b0d62b419213937cd89619ed045bea970ab272439e46ca2c5cdc7 |
关闭
哈希值 用于 columnq_cli-0.5.2-py3-none-macosx_10_7_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7e04de6c600787d36aa01aee9691abb60da17c221cc404b53529fdd2029d9a04 |
|
MD5 | 2a8a1f98d879d925228b75c39180859b |
|
BLAKE2b-256 | c36ac5f6d7edc86d3785268e59cba2934790d899c413838b48ffa5614b86bd47 |