6 个版本 (3 个破坏性更新)
0.3.0 | 2024年7月3日 |
---|---|
0.2.0 | 2024年4月6日 |
0.1.0 | 2023年11月29日 |
0.0.0 | 2023年11月15日 |
0.0.0-alpha.0 | 2023年7月7日 |
#489 in 压缩
440KB
11K SLoC
设置
您可以使用 CLI 压缩、解压缩和检查独立的 .pco 文件。按照以下设置操作
- 安装 Rust: https://rust-lang.net.cn/tools/install
cargo安装 pco_cli
这将为您提供 pcodec
命令。
命令信息
您始终可以获得帮助,例如 pcodec
,pcodec compress --help
。
基准测试
此命令运行基准测试,接收您提供的数据,并打印出您请求的任何编解码器的压缩时间、解压缩时间和压缩比率。
pcodec bench --parquet my_input_data.parquet
pcodec bench \
--csv my_input_data.csv \
--csv-has-header \
--codecs pco:level=9,parquet:compression=zstd4 \
--dtypes f32 \
--datasets foo,bar \
--iters 7 \
--limit 999999 \
--save-dir ./tmp
pcodec bench --binary-dir ./data
设置合成数据
从广泛的进程和分布中生成测试数据的一种方法是从 pcodec 仓库中的 generate_randoms.py
脚本。要运行它,设置一个已安装 numpy
的 python3 环境。在该环境中,cd
'd 到仓库的根目录,运行 python pco_cli/generate_randoms.py
。这将填充 data/txt/
中的某些可读数据,以及与 data/binary/
中相同的数值数据。
除非提供其他输入,否则 pcodec bench
将在 ./data/binary/
路径下搜索。
压缩
此命令将 .csv 或 .parquet 文件的单列压缩到 .pco 文件。
示例
pcodec compress --csv my.csv --col-name my_column out.pco
pcodec compress --parquet my.snappy.parquet --col-name my_column out.pco
pcodec compress \
--csv my.csv \
--col-idx 0 \
--csv-has-header \
--dtype u32 \
--level 7 \
--overwrite \
out.pco
pcodec compress \
--csv time_series.csv \
--col-name temperature \
--dtype f32 \
--delta-order 3 \
out.pco
解压缩
此命令将 .pco 文件中的数字打印到 stdout。
示例
pcodec decompress --limit 256 in.pco
检查
此命令打印出有关 .pco 文件的信息。
示例
% pcodec inspect in.pco
依赖关系
~24–35MB
~533K SLoC