3 个版本 (重大更新)

新功能 0.3.0 2024年8月19日
0.2.0 2024年2月20日
0.1.0 2021年8月9日

#105 in 数据库接口

Download history 2/week @ 2024-05-15 6/week @ 2024-05-22 5/week @ 2024-05-29 9/week @ 2024-06-05 2/week @ 2024-06-12 2/week @ 2024-06-19 3/week @ 2024-06-26 38/week @ 2024-07-03 17/week @ 2024-07-24 11/week @ 2024-07-31 4/week @ 2024-08-07 141/week @ 2024-08-14

每月 173 次下载
用于 6 个crate5 直接使用)

Apache-2.0

1.5MB
31K SLoC

Apache Iceberg 官方原生 Rust 实现

crates.io docs.rs

本crate包含Apache Iceberg的官方原生Rust实现。

请参阅API文档以获取示例和完整API。

用法

use futures::TryStreamExt;
use iceberg::io::{FileIO, FileIOBuilder};
use iceberg::{Catalog, Result, TableIdent};
use iceberg_catalog_memory::MemoryCatalog;

#[tokio::main]
async fn main() -> Result<()> {
    // Build your file IO.
    let file_io = FileIOBuilder::new("memory").build()?;
    // Connect to a catalog.
    let catalog = MemoryCatalog::new(file_io, None);
    // Load table from catalog.
    let table = catalog
        .load_table(&TableIdent::from_strs(["hello", "world"])?)
        .await?;
    // Build table scan.
    let stream = table
        .scan()
        .select(["name", "id"])
        .build()?
        .to_arrow()
        .await?;

    // Consume this stream like arrow record batch stream.
    let _data: Vec<_> = stream. try_collect().await?;
    Ok(())
}

依赖项

~38–55MB
~1M SLoC