smallpond

GitHub
4.9k 442 简单 1 次阅读 昨天MIT数据工具
AI 解读 由 AI 自动生成,仅供参考

smallpond 是一款轻量级数据处理框架,专为高效处理大规模数据集而设计。它巧妙结合了高性能分析数据库 DuckDB 与分布式文件系统 3FS,让用户无需部署复杂的长期运行服务,即可轻松完成从数据加载、清洗到聚合分析的全流程任务。

面对 PB 级海量数据时,传统工具往往面临配置繁琐或性能瓶颈的问题,而 smallpond 通过底层架构优化,实现了卓越的可扩展性与处理速度。在基准测试中,它曾在百节点集群上以每分钟超过 3.6TB 的吞吐量完成百 TB 级数据排序,展现了强大的工程实力。

这款工具特别适合需要处理大规模数据的开发者、数据工程师及 AI 研究人员。如果你习惯使用 Python 和 SQL 进行数据分析,smallpond 提供了直观易用的 API,支持直接编写 SQL 逻辑处理 Parquet 等格式文件,并能无缝对接 Pandas,极大降低了分布式数据处理的门槛。其独特的“无服务”架构意味着运维成本极低,启动即用,让团队能更专注于数据价值挖掘而非基础设施维护。

使用场景

某量化交易团队需要每日处理来自全球交易所的数百 GB 行情数据,以计算各股票标的的日内极值与波动特征。

没有 smallpond 时

  • 架构臃肿:必须部署和维护 Hadoop/Spark 等重型集群,不仅资源占用高,还需专人看护长驻服务。
  • 开发繁琐:简单的聚合统计(如按股票代码分组求最大最小值)需要编写冗长的 MapReduce 代码或复杂的 Spark SQL 任务。
  • 启动缓慢:每次调试代码都要等待漫长的集群资源申请与服务启动,严重拖慢策略迭代节奏。
  • 扩展困难:面对突发增长的 PB 级历史数据回测需求,临时扩容存储与计算节点流程复杂且耗时。

使用 smallpond 后

  • 轻量无服务:基于 DuckDB 和 3FS 构建,无需任何长驻后台服务,单机脚本即可直接驱动分布式计算,运维成本归零。
  • 代码极简:仅需几行 Python 代码调用 partial_sql 即可完成复杂的分片哈希与聚合逻辑,开发效率提升数倍。
  • 即时反馈:省去了集群启动等待时间,数据加载与分析秒级响应,让研究员能快速验证新想法。
  • 弹性伸缩:轻松利用现有存储集群处理 PB 级数据集,在 50 个计算节点上即可实现每分钟 3.66TiB 的惊人吞吐。

smallpond 让大规模数据清洗像本地脚本一样简单,同时保留了企业级的性能与扩展能力。

运行环境要求

操作系统
  • 未说明
GPU

未说明

内存

未说明(支持 PB 级数据集,实际需求取决于数据规模)

依赖
notes该工具是一个基于 DuckDB 和 3FS 的轻量级数据处理框架。它无需长期运行的服务即可操作。在性能测试中,它在包含 50 个计算节点和 25 个存储节点的集群上运行,并依赖 3FS 文件系统来处理大规模数据。
python3.8 - 3.12
DuckDB
3FS
smallpond hero image

快速开始

smallpond

CI PyPI Docs License

一个基于 DuckDB3FS 构建的轻量级数据处理框架。

特性

  • 🚀 由 DuckDB 提供支持的高性能数据处理
  • 🌍 可扩展以处理 PB 级数据集
  • 🛠️ 操作简便,无需长时间运行的服务

安装

支持 Python 3.8 至 3.12。

pip install smallpond

快速入门

# 下载示例数据
wget https://duckdb.org/data/prices.parquet
import smallpond

# 初始化会话
sp = smallpond.init()

# 加载数据
df = sp.read_parquet("prices.parquet")

# 处理数据
df = df.repartition(3, hash_by="ticker")
df = sp.partial_sql("SELECT ticker, min(price), max(price) FROM {0} GROUP BY ticker", df)

# 保存结果
df.write_parquet("output/")
# 显示结果
print(df.to_pandas())

文档

有关详细指南和 API 参考:

性能

我们使用 GraySort 基准测试脚本)在由 50 个计算节点和 25 个存储节点组成的集群上评估了 smallpond,该集群运行 3FS。基准测试在 30 分钟 14 秒内对 110.5TiB 的数据进行了排序,平均吞吐量达到 3.66TiB/min。

详情请参阅 3FS - Gray Sort

开发

pip install .[dev]

# 运行单元测试
pytest -v tests/test*.py

# 构建文档
pip install .[docs]
cd docs
make html
python -m http.server --directory build/html

许可证

本项目采用 MIT 许可证授权。

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|今天
Agent开发框架图像

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|昨天
图像数据工具视频

scikit-learn

scikit-learn 是一个基于 Python 构建的开源机器学习库,依托于 SciPy、NumPy 等科学计算生态,旨在让机器学习变得简单高效。它提供了一套统一且简洁的接口,涵盖了从数据预处理、特征工程到模型训练、评估及选择的全流程工具,内置了包括线性回归、支持向量机、随机森林、聚类等在内的丰富经典算法。 对于希望快速验证想法或构建原型的数据科学家、研究人员以及 Python 开发者而言,scikit-learn 是不可或缺的基础设施。它有效解决了机器学习入门门槛高、算法实现复杂以及不同模型间调用方式不统一的痛点,让用户无需重复造轮子,只需几行代码即可调用成熟的算法解决分类、回归、聚类等实际问题。 其核心技术亮点在于高度一致的 API 设计风格,所有估算器(Estimator)均遵循相同的调用逻辑,极大地降低了学习成本并提升了代码的可读性与可维护性。此外,它还提供了强大的模型选择与评估工具,如交叉验证和网格搜索,帮助用户系统地优化模型性能。作为一个由全球志愿者共同维护的成熟项目,scikit-learn 以其稳定性、详尽的文档和活跃的社区支持,成为连接理论学习与工业级应用的最

65.6k|★☆☆☆☆|昨天
开发框架其他数据工具

keras

Keras 是一个专为人类设计的深度学习框架,旨在让构建和训练神经网络变得简单直观。它解决了开发者在不同深度学习后端之间切换困难、模型开发效率低以及难以兼顾调试便捷性与运行性能的痛点。 无论是刚入门的学生、专注算法的研究人员,还是需要快速落地产品的工程师,都能通过 Keras 轻松上手。它支持计算机视觉、自然语言处理、音频分析及时间序列预测等多种任务。 Keras 3 的核心亮点在于其独特的“多后端”架构。用户只需编写一套代码,即可灵活选择 TensorFlow、JAX、PyTorch 或 OpenVINO 作为底层运行引擎。这一特性不仅保留了 Keras 一贯的高层易用性,还允许开发者根据需求自由选择:利用 JAX 或 PyTorch 的即时执行模式进行高效调试,或切换至速度最快的后端以获得最高 350% 的性能提升。此外,Keras 具备强大的扩展能力,能无缝从本地笔记本电脑扩展至大规模 GPU 或 TPU 集群,是连接原型开发与生产部署的理想桥梁。

63.9k|★★☆☆☆|2天前
开发框架数据工具其他

crawl4ai

Crawl4AI 是一款专为大语言模型(LLM)设计的开源网络爬虫与数据提取工具。它的核心使命是将纷繁复杂的网页内容转化为干净、结构化的 Markdown 格式,直接服务于检索增强生成(RAG)、智能体构建及各类数据管道,让 AI 能更轻松地“读懂”互联网。 传统爬虫往往面临反爬机制拦截、动态内容加载困难以及输出格式杂乱等痛点,导致后续数据处理成本高昂。Crawl4AI 通过内置自动化的三级反机器人检测、代理升级策略以及对 Shadow DOM 的深度支持,有效突破了这些障碍。它能智能移除同意弹窗,处理深层链接,并具备长任务崩溃恢复能力,确保数据采集的稳定与高效。 这款工具特别适合开发者、AI 研究人员及数据工程师使用。无论是需要为本地模型构建知识库,还是搭建大规模自动化信息采集流程,Crawl4AI 都提供了极高的可控性与灵活性。作为 GitHub 上备受瞩目的开源项目,它完全免费开放,无需繁琐的注册或昂贵的 API 费用,让用户能够专注于数据价值本身而非采集难题。

63.2k|★★☆☆☆|3天前
数据工具Agent

MinerU

MinerU 是一款专为大语言模型(LLM)打造的文档解析工具,旨在将复杂的 PDF 文件高效转化为机器易读的 Markdown 或 JSON 格式。在日常工作中,许多用户面临从扫描版论文、技术手册或包含复杂排版的文档中提取高质量文本的难题,传统方法往往难以保留原有的公式、表格和结构信息,导致后续 AI 处理效果不佳。MinerU 正是为了解决这一痛点而生,它能精准识别并还原文档中的多栏布局、数学公式及图表内容,确保输出数据干净、结构化,直接适配各类智能体(Agentic)工作流。 这款工具特别适合开发者、数据科学家以及需要构建知识库的研究人员使用。无论是希望微调专属模型的算法工程师,还是试图搭建企业级 RAG(检索增强生成)系统的技术团队,MinerU 都能提供强有力的支持。其核心技术亮点在于对复杂版面分析的深度优化,不仅支持批量处理,还能在保持高准确率的同时,大幅降低数据清洗的人力成本。通过 MinerU,用户可以轻松打通从原始文档到 AI 应用的数据链路,让非结构化文档真正变成可被智能体理解的高价值资产。

58.2k|★★★☆☆|今天
图像数据工具其他