Show HN: Typed-arrow – compile‑time Arrow schemas for Rust
9 months ago
- #Rust
- #Data Processing
- #Arrow
- typed-arrow 提供了一种强类型、编译时的方式来在Rust中声明Arrow模式。
- 将Rust类型直接映射到arrow-rs的类型化构建器/数组和arrow_schema::DataType,零运行时开销。
- 性能:采用单态化构建器/数组,零动态分发;避免运行时DataType匹配。
- 安全性:列类型、名称和可空性存在于类型系统中;不匹配会在编译时失败。
- 互操作性:直接使用arrow-array/arrow-schema类型;无需自定义运行时层。
- 支持嵌套结构体、列表、字典、时间戳等,并通过编译时模式生成。
- 示例用法包括为结构体派生Record,以及在编译时模式检查下构建RecordBatch。
- 可以通过属性在模式或字段级别添加元数据。
- 支持多种Arrow数据类型,包括基本类型、字符串、二进制、时间、十进制、嵌套类型和字典。
- 暂不支持BinaryView、Utf8View、ListView、LargeListView和RunEndEncoded类型。