跳转到主要内容

Dask + Delta Table

项目描述

Dask-DeltaTable

使用 Dask 引擎读取和写入 Delta Lake。

安装

dask-deltatable 可在 PyPI 上获取

pip install dask-deltatable

以及 conda-forge

conda install -c conda-forge dask-deltatable

功能

  1. 从 Delta Lake 读取 parquet 文件,并使用 Dask 进行并行处理
  2. 将 Dask DataFrame 写入 Delta Lake(支持有限)
  3. 支持多种文件系统(s3、azurefs、gcsfs)
  4. Delta Lake 功能的子集
    • 时间旅行
    • 模式演进
    • Parquet 过滤器
      • 行过滤器
      • 分区过滤器

不支持

  1. 写入 Delta Lake 的功能仍在开发中。
  2. optimize API 在 Delta 表上执行分箱操作。

从 Delta Lake 读取

import dask_deltatable as ddt

# read delta table
df = ddt.read_deltalake("delta_path")

# with specific version
df = ddt.read_deltalake("delta_path", version=3)

# with specific datetime
df = ddt.read_deltalake("delta_path", datetime="2018-12-19T16:39:57-08:00")

df 是一个 Dask DataFrame,您可以使用与平常相同的方式进行处理。有关可用的操作,请参阅 Dask DataFrame 文档

访问远程文件系统

为了能够从 S3、azure、gcsfs 等远程文件系统读取,您需要确保凭据在环境变量或配置文件中配置正确。对于 AWS,您可能需要 ~/.aws/credential;对于 gcsfs,GOOGLE_APPLICATION_CREDENTIALS。请参阅您的云提供商文档进行配置。

ddt.read_deltalake("s3://bucket_name/delta_path", version=3)

访问 AWS Glue 目录

dask-deltatable 可以连接到 AWS Glue 目录以读取 delta 表。该方法将查找 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 环境变量,如果这些不可用,将回退到 ~/.aws/credentials

示例

ddt.read_deltalake(catalog="glue", database_name="science", table_name="physics")

写入 Delta Lake

要将 Dask DataFrame 写入 Delta Lake,请使用 to_deltalake 方法。

import dask.dataframe as dd
import dask_deltatable as ddt

df = dd.read_csv("s3://bucket_name/data.csv")
# do some processing on the dataframe...
ddt.to_deltalake("s3://bucket_name/delta_path", df)

由于写入 Delta Lake 的功能仍在开发中,因此请注意,某些功能可能无法正常工作。

项目详情


下载文件

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

源代码分发

dask_deltatable-0.3.3.tar.gz (22.8 kB 查看哈希值)

上传时间 源代码

构建分发

dask_deltatable-0.3.3-py3-none-any.whl (18.3 kB 查看哈希值)

上传时间 Python 3

由以下机构支持