apache/datafusion-iceberg
apache/datafusion-iceberg has 35 GitHub stars and 37 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-14 01:49 UTC. Last push 2026-11-10.
측정된 스타 증가
- in 24h
- 0
- in 7 days
- 기록 수집 중
- in 15 days
- 기록 수집 중
- in 1 month
- 기록 수집 중
서로 겹치는 기간의 순증가량이며 일별 합계가 아닙니다. 측정값이 없으면 비워 둡니다. 스타는 관심도를 나타내며 품질을 보장하지 않습니다.
소개
Apache DataFusion Iceberg Integration
데이터README.md
OriginalApache Iceberg Table Provider for Apache DataFusion
This repository connects Apache Iceberg tables to
Apache DataFusion. The iceberg-datafusion
crate provides table providers for querying Iceberg data and for inserting rows
through an Iceberg catalog.
Workspace
crates/datafusion: the DataFusion integration library.crates/sqllogictest: SQL logic tests for the integration.crates/playground: a command-line SQL playground backed by DataFusion and Iceberg catalogs.
Query an existing table
Register IcebergTableProviderFactory in a DataFusion session, then point an
external table at an existing Iceberg metadata file:
use std::sync::Arc;
use datafusion::execution::session_state::SessionStateBuilder;
use datafusion::prelude::SessionContext;
use iceberg_datafusion::IcebergTableProviderFactory;
async fn query_table() -> datafusion::error::Result<()> {
let mut state = SessionStateBuilder::new().with_default_features().build();
state.table_factories_mut().insert(
"ICEBERG".to_string(),
Arc::new(IcebergTableProviderFactory::new()),
);
let ctx = SessionContext::new_with_state(state);
ctx.sql(
"CREATE EXTERNAL TABLE trips STORED AS ICEBERG \
LOCATION '/absolute/path/to/table/metadata/v1.metadata.json'",
)
.await?
.collect()
.await?;
let batches = ctx
.sql("SELECT * FROM trips LIMIT 10")
.await?
.collect()
.await?;
println!("{batches:?}");
Ok(())
}
Replace the metadata path with one from an existing table whose data files are
accessible to the process. External-table registration reads an existing table;
it does not create one. For catalog-backed access and inserts, register an
IcebergCatalogProvider with a configured Iceberg Catalog. See the
integration tests for
examples.
The workspace uses a pinned iceberg-rust Git revision. Applications that
also depend on Iceberg crates should use the same revision shown in
Cargo.toml so Cargo uses one Iceberg crate source.
Development
The repository's rust-toolchain.toml selects the Rust
toolchain used by CI. From the repository root, run:
cargo fmt --all -- --check
cargo clippy --workspace --locked --all-targets -- -D warnings
cargo test --workspace --locked
This project is licensed under the Apache License, Version 2.0. See
LICENSE and NOTICE.
관련 프로젝트 살펴보기
Asabeneh/30-Days-Of-Python
30 Days of Python 프로그래밍 챌린지는 Python 프로그래밍 언어를 30일 동안 배우기 위한 단계별 가이드입니다. 이 챌린지는 100일 이상 걸릴 수 있습니다. 자신의 속도에 맞춰 진행하세요. 다음 동영상도 도움이 될 수 있습니다: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
78,710 스타grafana/grafana
개방적이고 조합 가능한 옵저버빌리티 및 데이터 시각화 플랫폼입니다. Prometheus, Loki, Elasticsearch, InfluxDB, Postgres 등 여러 소스의 메트릭, 로그, 트레이스를 시각화합니다.
77,892 스타redis/redis
실시간 데이터 기반 애플리케이션을 구축하는 개발자에게 Redis는 가장 선호되고, 가장 빠르며, 기능이 가장 풍부한 캐시, 데이터 구조 서버이자 문서 및 벡터 쿼리 엔진입니다.
77,490 스타apache/superset
Apache Superset는 데이터 시각화 및 데이터 탐색 플랫폼입니다.
75,521 스타