文件名称:最快和最安全的镶木地板 Rust 实现。 `不安全`免费。 针对 pyarrow 进行集成测试
文件大小:111KB
文件格式:ZIP
更新时间:2024-07-18 13:01:38
arrow parallelism parquet safe
实木复合地板这是对官方parquet crate的重写,并考虑到了性能、并行性和安全性。与parquet相比,五个主要区别是:不使用unsafe将并行性委托给下游将读取(IO 密集型)与计算(CPU 密集型)分离删除下游的解压缩和解码批次它更快(读取箭头格式时为 10-20 倍)是否针对 pyarrow 3 和 (py)spark 3 进行了集成测试总体思路是提供读取压缩镶木地板页面的能力和一个工具包,将它们解压缩为他们最喜欢的内存格式。这允许此 crate 的迭代器执行最少的CPU 工作,从而最大化吞吐量。由消费者决定是否要以牺牲内存使用(例如,在线程中解压缩和反序列化页面)为代价通过并行性来利用这一点。功能实现阅读字典页面读写V1页面读写V2页面压缩和解压缩(全部)功能尚未(尚未)实现索引页位打包(已弃用)字节流拆分Parquet 格式针对不同的物理类型有多种编码策略。这个 crate 目前从几乎所有这些中读取,并支持对它们的一个子集进行编码。他们是:支持解码清楚的RLE词典RLE 混合动力车增量编码Delta 长度字节数组三角弦Delta 编码仍然是实验性的,因为我无法从 spa
【文件预览】:
parquet2-main
----integration()
--------write_pyarrow.py(3KB)
----Cargo.toml(802B)
----.github()
--------workflows()
----.gitmodules(123B)
----parquet-tools()
--------Cargo.toml(443B)
--------src()
--------README.md(477B)
--------data()
----src()
--------types.rs(3KB)
--------error.rs(2KB)
--------serialization()
--------encoding()
--------lib.rs(13KB)
--------statistics()
--------compression.rs(10KB)
--------read()
--------write()
--------metadata()
--------schema()
----LICENSE(559B)
----README.md(7KB)
----testing()
--------parquet-testing()
----.gitignore(32B)