跳转到主要内容

基于delta-rs的Delta Lake原生Python绑定,与Pandas集成

项目描述

Deltalake-python

PyPI userdoc apidoc

基于Delta Lakedelta-rs原生Python绑定,与Pandas集成。

示例

from deltalake import DeltaTable
dt = DeltaTable("../rust/tests/data/delta-0.2.0")
dt.version()
3
dt.files()
['part-00000-cb6b150b-30b8-4662-ad28-ff32ddab96d2-c000.snappy.parquet',
 'part-00000-7c2deba3-1994-4fb8-bc07-d46c948aa415-c000.snappy.parquet',
 'part-00001-c373a5bd-85f0-4758-815e-7eb62007a15c-c000.snappy.parquet']

请参阅用户指南以获取更多示例。

安装

pip install deltalake

注意:官方的二进制轮文件使用了静态链接的openssl进行远程对象存储通信。请提交Github问题请求关键openssl升级。

构建自定义轮文件

有时你可能想构建自定义轮文件。也许你想尝试一些未发布的特性。或者也许你想调整Rust代码的优化。

要编译此包,你需要Rust编译器和maturin

curl https://sh.rustup.rs -sSf | sh -s
pip install maturin

然后你可以这样构建你自己的平台的轮文件

maturin build --release --out wheels

为你的系统进行优化构建(但牺牲了可移植性)

RUSTFLAGS="-C target-cpu=native" maturin build --release --out wheels

交叉编译

上述命令仅适用于你的当前平台。要为其他平台创建轮文件,你需要交叉编译。交叉编译需要安装两个额外的组件:要交叉编译Rust代码,你需要使用rustup安装目标;要交叉编译Python绑定,你需要安装ziglang

以下示例针对manylinux2014。其他目标将需要不同的Rust target和Python compatibility标签。

rustup target add x86_64-unknown-linux-gnu
pip install ziglang

然后你可以使用以下命令构建轮文件

maturin build --release --zig \
    --target x86_64-unknown-linux-gnu \
    --compatibility manylinux2014 \
    --out wheels

如果你预计只会在更现代的系统上运行,你可以设置一个更新的target-cpu标志来针对Rust,并使用一个更新的兼容性标签来针对Linux。例如,这里我们设置了与Haswell(2013年)之后的CPU兼容,以及glibc版本至少为2.24的Linux操作系统。

RUSTFLAGS="-C target-cpu=haswell" maturin build --release --zig \
    --target x86_64-unknown-linux-gnu \
    --compatibility manylinux_2_24 \
    --out wheels

请参阅arrow-rs的readme中的RUSTFLAGS说明

项目详情


发布历史 发布通知 | RSS订阅

下载文件

下载你平台的文件。如果你不确定该选择哪个,请了解更多关于安装包的信息。

源代码发行版

deltalake-0.20.1.tar.gz (4.9 MB 查看哈希值)

上传时间 源码

构建版本

deltalake-0.20.1-cp38-abi3-win_amd64.whl (28.5 MB 查看哈希值)

上传时间 CPython 3.8+ Windows x86-64

deltalake-0.20.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (35.9 MB 查看哈希值)

上传时间 CPython 3.8+ manylinux: glibc 2.17+ x86-64

deltalake-0.20.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (35.7 MB 查看哈希值)

上传时间 CPython 3.8+ manylinux: glibc 2.17+ ARM64

deltalake-0.20.1-cp38-abi3-macosx_11_0_arm64.whl (29.0 MB 查看哈希值)

上传时间 CPython 3.8+ macOS 11.0+ ARM64

deltalake-0.20.1-cp38-abi3-macosx_10_12_x86_64.whl (30.7 MB 查看哈希值)

上传时间 CPython 3.8+ macOS 10.12+ x86-64

由以下组织支持