#parquet #read-write #async-read #thrift #async-write #hadoop #byte

parquet-format-async-temp

包含 thrift 库和 parquet 定义,编译用于支持读写异步的临时 crate

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解析器实现

Download history 180/week @ 2024-03-13 154/week @ 2024-03-20 137/week @ 2024-03-27 171/week @ 2024-04-03 148/week @ 2024-04-10 188/week @ 2024-04-17 152/week @ 2024-04-24 115/week @ 2024-05-01 120/week @ 2024-05-08 143/week @ 2024-05-15 346/week @ 2024-05-22 265/week @ 2024-05-29 155/week @ 2024-06-05 156/week @ 2024-06-12 172/week @ 2024-06-19 162/week @ 2024-06-26

675 每月下载量

Apache-2.0

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 + AsyncSeekAsyncWrite

为了不在写入时要求 SeekAsyncSeek,协议必须在它的 write_* API 上返回写入的字节数。

这个 crate 解决了 parquet 的这两个问题。它本质上

依赖关系

~1.1–1.9MB
~38K SLoC