python ray_Pandas on Ray:仅需改动一行代码,即可让Pandas加速四倍

本文中,来自 UC Berkeley 的 Devin Petersohn 发布文章介绍了其参与的项目 Pandas on Ray,使用这款工具,无需对代码进行太多改动即可加速 Pandas,遇到大型数据集也不怕。作者还对 Pandas on Ray、Pandas 进行了对比评估。机器之心对此文进行了编译介绍。项目链接:https://github.com/ray-project/ray最近,我和一...
摘要由CSDN通过智能技术生成

本文中,来自 UC Berkeley 的 Devin Petersohn 发布文章介绍了其参与的项目 Pandas on Ray,使用这款工具,无需对代码进行太多改动即可加速 Pandas,遇到大型数据集也不怕。作者还对 Pandas on Ray、Pandas 进行了对比评估。机器之心对此文进行了编译介绍。

项目链接:https://github.com/ray-project/ray

最近,我和一位使用 100 多 TB 生物数据的朋友讨论了数据科学库的一些局限性。当面临这种规模的数据时,Pandas 成了最受喜爱的工具;然而,当你开始处理 TB 级别的基因数据时,单核运行的 Pandas 就会变得捉襟见肘。如果我们拥有更多的处理器核,或者要打开数十 TB 规模的文件时,我们希望 Pandas 运行得更快。目前,Apache Spark 是最高性能的分布式选择了,但是如果未对 Pandas 代码做出足够多的修改,你无法使用 Apache Spark 运行 Pandas 代码。

大规模数据科学任务向来都是丢给分布式计算专家来做的,或者至少是熟悉此类概念的人员。大多数分布式系统的设计者给用户提供了调节「旋钮」,并留下了大量的系统配置。因此,高系统性能需要用明显更加陡峭的学习曲线来折中。大多数现有用户可能只是想让 Pandas 运行得更快,并不希望在特定的硬件环境中优化他们的工作流。在我的案例中,我想在 10KB 和 10TB 的数据上使用相同的 Pandas 脚本,并且希望 Pandas 在处理这两种不同量级的数据时速度一样快(如果我有足够的硬件资源的话)。为了完成这些目标,我们开启了一个 Pandas on Ray 项目。

我们对系统进行了初步测评,Pandas on Ray 可以在一台 8 核的机器上将 Pandas 的查询速度提高了四倍,而这仅需用户在 notebooks 中修改一行代码。我们为现在的 Pandas 用户设计了该系统,旨在帮助他们的程序运行得更快,并且无需大量代码改动就能够进行更好的扩展。这项工作的最终目标就是在云环境中使用 Pandas。

简介

Pandas on Ray 是 DataFrame 库的早期阶段,DataFrame 库封装了 Pandas,并且透明地分配数据和计算。使用 Pandas on Ray,用户不需要知道他们的系统或集群有多少个核心,也不需要指定如何分配数据。事实上,在 Pandas on Ray 上体验可观的加速时,用户可以继续使用之前的 Pandas notebook,甚至是在同一台机器上。仅仅需要按照下面描述的修改 import 语句。一旦修改了 import 语句,你就可以像使用 Pandas 一样使用 Pandas on Ray 了。

Pandas on Ray 主要针对的是希望在不切换 API 的情况下提高性能和运行速度的 Pandas 用户。我们正在积极实现与 Pandas 所有 API 的对等功能,并且已经实现了 API 的一个子集。我们会介绍目前进展的一些细节,并且给出一些使用示例。

使用的数据集

标普 500 股市数据:29.6MB(https://www.kaggle.com/camnugent/sandp500/data)

导入 Pandas on Ray

# import pandas as pdimport ray.dataframe as pd

Waiting for redis server at 127.0.0.1:21844 to respond...

Waiting for redis server at 127.0.0.1:41713 to respond...

Starting local scheduler with the following resources: {'GPU': 0, 'CPU': 8}.

======================================================================

View the web UI at http://localhost:8890/notebooks/ray_ui62630.ipynb?token=bcf6d5b6cb9c2c478207f025384869100d7a25dcc27d7a56

======================================

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值