#numerical #quantile #delta

app q_compress_cli

q_compress 和 .qco 格式的 CLI 工具

7 个版本

0.11.2 2022年11月9日
0.11.1 2022年7月24日
0.10.3 2022年7月16日
0.10.0 2022年6月10日
0.0.0 2022年5月5日

#11 in #quantile

每月 26 次下载

Apache-2.0

35KB
886

Crates.io

q_compress CLI

设置

您可以使用我们的简单 CLI 压缩、解压缩和检查 .qco 文件。按照以下设置操作

  1. 安装 Rust: https://rust-lang.net.cn/tools/install
  2. cargo安装 q_compress_cli

这将为您提供 qcompress 命令。

命令信息

您始终可以获得帮助,例如 qcompressqcompress compress --help

压缩

此命令将 .csv 或 .parquet 文件的单个列压缩为 .qco 文件。如果没有指定 delta 编码顺序(--delta-order),则默认行为是使用第一个数字并进行最佳 delta 编码顺序的合理猜测。

示例

qcompress compress --csv my.csv --col-name my_column out.qco
qcompress compress --parquet my.snappy.parquet --col-name my_column out.qco

qcompress compress \
  --csv my.csv \
  --col-idx 0 \
  --csv-has-header \
  --dtype u32 \
  --level 7 \
  --overwrite \
  out.qco

qcompress compress \
  --csv time_series.csv \
  --csv-timestamp-format "%Y-%m-%d %H:%M:%S%.f%z" \
  --col-name time \
  --dtype TimestampMicros \
  --delta-order 1 \
  out.qco
qcompress compress \
  --csv time_series.csv \
  --col-name temperature \
  --dtype f32 \
  --delta-order 3 \
  out.qco

解压缩

此命令将 .qco 文件中的数字打印到 stdout。

示例

qcompress decompress --limit 10 in.qco
qcompress decompress --timestamp-format "%Y-%m-%d %H:%M:%S.%f" in.qco > out.txt

检查

此命令打印有关 .qco 文件的信息。

示例

% qcompress inspect in.qco
...
inspecting "in.qco"
=================

data type: f64
flags: Flags { use_5_bit_prefix_len: true, delta_encoding_order: 0 }
number of chunks: 1
total n: 1000000
uncompressed byte size: 8000000
compressed byte size: 6967210 (ratio: 1.1482358074465964)
	header size: 6
	chunk metadata size: 602
	chunk body size: 6966601
	footer size: 1
	unknown trailing bytes: 0
[min, max] numbers: [-4.628380674508539, 4.919770799153994]
...

版本控制

此软件包的主版本和次版本号旨在与 q_compress 的版本号匹配。但是,补丁版本号与 q_compress 的补丁版本号无关。

依赖项

~16–25MB
~343K SLoC