delta-io/delta-rs
Fork: 404 Star: 2296 (更新于 2024-11-04 00:46:30)
license: Apache-2.0
Language: Rust .
A native Rust library for Delta Lake, with bindings into Python
最后发布版本: python-v0.20.1 ( 2024-09-29 15:35:58)
A native Rust library for Delta Lake, with bindings to Python
Python docs
·
Rust docs
·
Report a bug
·
Request a feature
·
Roadmap
The Delta Lake project aims to unlock the power of the Deltalake for as many users and projects as possible by providing native low-level APIs aimed at developers and integrators, as well as a high-level operations API that lets you query, inspect, and operate your Delta Lake with ease.
Source | Downloads | Installation Command | Docs |
---|---|---|---|
PyPi | pip install deltalake |
Docs | |
Crates.io | cargo add deltalake |
Docs |
Table of contents
Quick Start
The deltalake
library aims to adopt patterns from other libraries in data processing,
so getting started should look familiar.
from deltalake import DeltaTable, write_deltalake
import pandas as pd
# write some data into a delta table
df = pd.DataFrame({"id": [1, 2], "value": ["foo", "boo"]})
write_deltalake("./data/delta", df)
# Load data from the delta table
dt = DeltaTable("./data/delta")
df2 = dt.to_pandas()
assert df.equals(df2)
The same table can also be loaded using the core Rust crate:
use deltalake::{open_table, DeltaTableError};
#[tokio::main]
async fn main() -> Result<(), DeltaTableError> {
// open the table written in python
let table = open_table("./data/delta").await?;
// show all active files in the table
let files: Vec<_> = table.get_file_uris()?.collect();
println!("{:?}", files);
Ok(())
}
You can also try Delta Lake docker at DockerHub | Docker Repo
Get Involved
We encourage you to reach out, and are committed to provide a welcoming community.
- Join us in our Slack workspace
- Report an issue
- Looking to contribute? See our good first issues.
Integrations
Libraries and frameworks that interoperate with delta-rs - in alphabetical order.
Features
The following section outlines some core features like supported storage backends and operations that can be performed against tables. The state of implementation of features outlined in the Delta protocol is also tracked.
Cloud Integrations
Storage | Rust | Python | Comment |
---|---|---|---|
Local | |||
S3 - AWS | requires lock for concurrent writes | ||
S3 - MinIO | No lock required when using AmazonS3ConfigKey::ConditionalPut with storage_options = {"conditional_put":"etag"} |
||
S3 - R2 | No lock required when using AmazonS3ConfigKey::ConditionalPut with storage_options = {"conditional_put":"etag"} |
||
Azure Blob | |||
Azure ADLS Gen2 | |||
Microsoft OneLake | |||
Google Cloud Storage | |||
HDFS |
Supported Operations
Operation | Rust | Python | Description |
---|---|---|---|
Create | Create a new table | ||
Read | Read data from a table | ||
Vacuum | Remove unused files and log entries | ||
Delete - partitions | Delete a table partition | ||
Delete - predicates | Delete data based on a predicate | ||
Optimize - compaction | Harmonize the size of data file | ||
Optimize - Z-order | Place similar data into the same file | ||
Merge | Merge a target Delta table with source data | ||
FS check | Remove corrupted files from table |
Protocol Support Level
Reader Version | Requirement | Status |
---|---|---|
Version 2 | Column Mapping | |
Version 3 | Table Features (requires reader V7) |
最近版本更新:(数据更新于 2024-10-12 23:56:58)
2024-09-29 15:35:58 python-v0.20.1
2024-09-28 21:21:07 rust-v0.20.1
2024-09-18 15:09:24 python-v0.20.0
2024-09-06 00:58:42 python-v0.19.2
2024-08-20 05:02:51 python-v0.19.1
2024-08-15 06:14:22 python-v0.19.0
2024-07-03 14:31:33 python-v0.18.2
2024-06-13 00:16:29 python-v0.18.1
2024-06-07 02:26:56 python-v0.18.0
2024-05-11 19:43:06 python-v0.17.4
主题(topics):
databricks, delta, delta-lake, pandas, pandas-dataframe, python, rust
delta-io/delta-rs同语言 Rust最近更新仓库
2024-11-23 21:43:05 gleam-lang/gleam
2024-11-22 05:42:56 lanyeeee/jmcomic-downloader
2024-11-19 08:50:55 lapce/lapce
2024-11-11 22:51:00 tauri-apps/tauri
2024-11-11 07:55:30 dani-garcia/vaultwarden
2024-11-09 16:42:37 rustdesk/rustdesk