跳转到主要内容

多模态数据分布式数据帧

项目描述

Daft dataframes can load any data such as PDF documents, images, protobufs, csv, parquet and audio files into a table dataframe structure for easy querying

Github Actions tests PyPI latest tag Coverage slack community

网站文档安装Daft 10分钟之旅社区和支持

Daft:多模态数据分布式数据帧

Daft是一个用于Python的分布式查询引擎,用于处理大规模数据,并以Rust实现。

  • 熟悉的交互式API: 快速交互迭代用的懒Python数据帧

  • 专注于“什么”: 强大的查询优化器,将查询重写为尽可能高效的版本

  • 数据目录集成: 完整集成数据目录,如Apache Iceberg

  • 丰富的多模态类型系统: 支持图像、URL、张量等多模态类型

  • 无缝交换: 基于Apache Arrow内存格式构建

  • 专为云构建: 与S3云存储的创纪录的I/O性能

目录

关于Daft

Daft 的设计遵循以下原则:

  1. 任何数据:除了常见的字符串、数字和日期外,Daft 的列还可以高效地存储图像、嵌入和 Python 对象等复杂或嵌套的多模态数据,它使用基于 Arrow 的内存表示。在 Daft 中,多模态数据的摄取和基本转换既容易又高效。

  2. 交互式计算:Daft 通过笔记本或 REPL 构建了交互式开发者体验 - 智能缓存/查询优化加速了您的实验和数据探索。

  3. 分布式计算:某些工作负载很快就会超出您本地笔记本电脑的计算资源 - Daft 与 Ray 集成,可在具有成千上万个 CPU/GPU 的大型集群上运行数据框。

入门

安装

使用 pip install getdaft 安装 Daft。

对于更高级的安装(例如,从源安装或使用额外的依赖项,如 Ray 和 AWS 工具),请参阅我们的 安装指南

快速入门

查看我们的 10 分钟快速入门

在这个示例中,我们从 AWS S3 桶的 URL 加载图像,并在数据框中对每个图像进行缩放

import daft

# Load a dataframe from filepaths in an S3 bucket
df = daft.from_glob_path("s3://daft-public-data/laion-sample-images/*")

# 1. Download column of image URLs as a column of bytes
# 2. Decode the column of bytes into a column of images
df = df.with_column("image", df["path"].url.download().image.decode())

# Resize each image into 32x32
df = df.with_column("resized", df["image"].image.resize(32, 32))

df.show(3)

Dataframe code to load a folder of images from AWS S3 and create thumbnails

基准测试

Benchmarks for SF100 TPCH

要查看完整的基准测试、详细设置和日志,请查看我们的 基准测试页面

更多资源

  • Daft 10 分钟之旅 - 了解 Daft 的全部功能,包括从 URL 加载数据、连接、用户定义函数 (UDF)、groupby、聚合等。

  • 用户指南 - 深入了解 Daft 中的每个主题

  • API 参考 - Daft 公共类/函数的 API 参考

贡献

要开始为 Daft 贡献,请阅读 CONTRIBUTING.md

以下是一些 好的入门问题,可以帮助您熟悉 Daft。在问题中评论以选择它,并随时提问!

遥测

为了帮助改进 Daft,我们收集不可识别的数据。

要禁用此行为,设置以下环境变量:DAFT_ANALYTICS_ENABLED=0

我们收集的数据是

  1. 不可识别的:事件通过在导入 Daft 时生成的会话 ID 进行键控

  2. 仅元数据:我们不收集我们用户的任何专有代码或数据

  3. 仅用于开发:我们不购买或出售任何用户数据

有关更多详细信息,请参阅我们的 文档

https://#/a.png?x-pxid=cd444261-469e-473b-b9ba-f66ac3dc73ee

许可

Daft 使用 Apache 2.0 许可证 - 请参阅 LICENSE 文件。

项目详情


发布历史 发布通知 | RSS 源

下载文件

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

源分布

getdaft-0.3.5.tar.gz (3.7 MB 查看哈希值)

上传时间

构建分布

getdaft-0.3.5-cp38-abi3-win_amd64.whl (26.5 MB 查看哈希值)

上传时间 CPython 3.8+ Windows x86-64

getdaft-0.3.5-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (29.5 MB 查看哈希值)

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

getdaft-0.3.5-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (28.0 MB 查看哈希值)

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

getdaft-0.3.5-cp38-abi3-macosx_11_0_arm64.whl (24.5 MB 查看哈希值)

上传时间 CPython 3.8+ macOS 11.0+ ARM64

getdaft-0.3.5-cp38-abi3-macosx_10_12_x86_64.whl (26.5 MB 查看哈希值)

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

由以下机构支持