Dask + Delta Table
项目描述
Dask-DeltaTable
使用 Dask 引擎读取和写入 Delta Lake。
安装
dask-deltatable
可在 PyPI 上获取
pip install dask-deltatable
以及 conda-forge
conda install -c conda-forge dask-deltatable
功能
- 从 Delta Lake 读取 parquet 文件,并使用 Dask 进行并行处理
- 将 Dask DataFrame 写入 Delta Lake(支持有限)
- 支持多种文件系统(s3、azurefs、gcsfs)
- Delta Lake 功能的子集
- 时间旅行
- 模式演进
- Parquet 过滤器
- 行过滤器
- 分区过滤器
不支持
- 写入 Delta Lake 的功能仍在开发中。
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_ID
和 AWS_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 查看哈希值)
关闭
dask_deltatable-0.3.3.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a3c3d931d8f1b66d916af083014900c19d56be20e0c3f248669c27c0b1b9ab56 |
|
MD5 | d9d7b64d6ef26193ecea360515d79591 |
|
BLAKE2b-256 | 80d3bcf3de1b7a1856e187a0acf570b2b71ae0233ad3d75580d9dc8c76dc4e70 |
关闭
dask_deltatable-0.3.3-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7582e33838c61307f6b8cba1eb74c1b340a786caa388c9457e7495c1ffe0bdfd |
|
MD5 | 3589b4b3e78f95c1796c59c9ff7d393f |
|
BLAKE2b-256 | aba81d85c6dbfcdfecdd6308b9ac22e779b5ef7c2a2f44ca101e45022ad06cfa |