3 个版本 (重大更新)
新功能 0.3.0 | 2024年8月19日 |
---|---|
0.2.0 | 2024年2月20日 |
0.1.0 | 2021年8月9日 |
#105 in 数据库接口
每月 173 次下载
用于 6 个crate (5 直接使用)
1.5MB
31K SLoC
Apache Iceberg 官方原生 Rust 实现
本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