5 个不稳定版本
0.3.1 | 2022年6月14日 |
---|---|
0.3.0 | 2022年3月15日 |
0.2.0 | 2021年8月28日 |
0.1.1 | 2021年8月10日 |
0.1.0 | 2021年8月8日 |
#2330 在 解析器实现 中
675 每月下载量
465KB
10K SLoC
parquet-format-async-temp
这是一个包含 rust 的 thrift 库和 parquet 的子集的临时 crate,用于支持本地的异步 parquet 读写。
具体来说,它
- 支持
async
读取 API(通过futures
) - 支持
async
写入 API(通过futures
) - 写入 API 返回写入的字节数
它必须与 thrift 编译器的分支一起使用,该分支可在 https://github.com/jorgecarleitao/thrift/tree/write_size 中找到。
原因
为了在没有对特定运行时(例如 tokio、hyper 等)做出承诺的情况下读取和写入 thrift(例如 parquet)文件,协议需要分别支持 AsyncRead + AsyncSeek
和 AsyncWrite
。
为了不在写入时要求 Seek
和 AsyncSeek
,协议必须在它的 write_*
API 上返回写入的字节数。
这个 crate 解决了 parquet 的这两个问题。它本质上
- https://github.com/apache/thrift/pull/2426 在最新的 thrift 上应用
- 修改写入的字节数以输出到所有的
write_*
API 上
依赖关系
~1.1–1.9MB
~38K SLoC