专栏首页量子位一行代码,Pandas秒变分布式,快速处理TB级数据

一行代码,Pandas秒变分布式,快速处理TB级数据

刚刚在Pandas上为十几KB的数据做好了测试写好了处理脚本,上百TB的同类大型数据集摆到了面前。这时候,你可能面临着一个两难的选择:

继续用Pandas?可能会相当慢,上百TB数据不是它的菜。

(ಥ_ಥ) 然而,Spark啊分布式啊什么的,学习曲线好陡峭哦~在Pandas里写的处理脚本都作废了好桑心哦~

别灰心,你可能真的不需要Spark了。

加州大学伯克利分校RiseLab最近在研究的Pandas on Ray,就是为了让Pandas运行得更快,能搞定TB级数据而生的。这个DataFrame库想要满足现有Pandas用户不换API,就提升性能、速度、可扩展性的需求。

研究团队说,只需要替换一行代码,8核机器上的Pandas查询速度就可以提高4倍。

其实也就是用一个API替换了Pandas中的部分函数,这个API基于Ray运行。Ray是伯克利年初推出的分布式AI框架,能用几行代码,将家用电脑上的原型算法转换成适合大规模部署的分布式计算应用。

Pandas on Ray的性能虽说比不上另一个分布式DataFrame库Dask,但更容易上手,用起来和Pandas几乎没有差别。用户不需要懂分布式计算,也不用学一个新的API。

与Dask不同的是,Ray使用了Apache Arrow里的共享内存对象存储,不需要对数据进行序列化和复制,就能跨进程通讯。

在8核32G内存的AWS m5.2xlarge实例上,Ray、Dask和Pandas读取csv的性能对比

它将Pandas包裹起来并透明地把数据和计算分布出去。用户不需要知道他们的系统或者集群有多少核,也不用指定如何分配数据,可以继续用之前的Pandas notebook。

前面说过,使用Pandas on Ray需要替换一行代码,其实就是换掉导入语句。

# import pandas as pd
import ray.dataframe as pd

这时候你应该看到:

初始化完成,Ray自动识别了你机器上可用的核心,接下来的用法,就和Pandas一样了。

Pandas on Ray目前还处于早期,实现了Pandas的一部分功能。以一个股票波动的数据集为例,它所支持的Pandas功能包括检查数据、查询上涨的天数、按日期索引、按日期查询、查询股票上涨的所有日期等等。

这个项目的最终目标是在Ray上完整实现Pandas API的功能,让用户可以在云上用Pandas。

目前,伯克利RiseLab的研究员们已经用45天时间,实现了Pandas DataFrame API的25%。

革命尚未成功,项目仍在继续。这些人都在为之努力:

Devin Petersohn, Robert Nishihara, Philipp Moritz, Simon Mo, Kunal Gosar, Helen Che, Harikaran Subbaraj, Peter Veerman, Rohan Singh, Joseph Gonzalez, Ion Stoica, Anthony Joseph

更深入地了解Pandas on Ray请看RiseLab博客原文: https://rise.cs.berkeley.edu/blog/pandas-on-ray/

试用Pandas on Ray请参考这个文档: https://rise.cs.berkeley.edu/blog/pandas-on-ray/

给Ray团队提要求请到GitHub开issue: https://github.com/ray-project/ray/issues

如果对Ray感兴趣,可以读一读他们的论文: https://arxiv.org/abs/1712.05889

本文分享自微信公众号 - 量子位(QbitAI)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-03-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • LeCun亲授的深度学习入门课:从飞行器的发明到卷积神经网络

    Root 编译整理 量子位 出品 | 公众号 QbitAI 深度学习和人脑有什么关系?计算机是如何识别各种物体的?我们怎样构建人工大脑? 这是深度学习入门者绕不...

    量子位
  • 外媒用AI识别政府的侦察机,它到底是怎么做到的?

    李杉 编译自 BuzzFeed 量子位出品 | 公众号 QbitAI 外媒BuzzFeed在上周报道了两则有关飞机的故事。 一是美国法警运营的秘密侦察机在墨西哥...

    量子位
  • 最新Transformer模型大盘点,NLP学习必备,Google AI研究员出品丨资源

    可高效处理长文本的模型Longformer、和堪称“升级版”Transformer的BigBird模型,到底有什么区别?

    量子位
  • 读完本文,轻松玩转数据处理利器Pandas 1.0

    常用数据科学库 Pandas 刚刚年满十二岁,现在已经发布到 1.0.0 版。首个 Pandas 1.0 候选版本显示出,现在的 Pandas 在遇到缺失值时会...

    CDA数据分析师
  • 读完本文,轻松玩转数据处理利器Pandas 1.0

    常用数据科学库 Pandas 刚刚年满十二岁,现在已经发布到 1.0.0 版。首个 Pandas 1.0 候选版本显示出,现在的 Pandas 在遇到缺失值时会...

    机器之心
  • 深度残差网络 - Deep Residual Learning for Image Recognition

    CVPR2016 code: https://github.com/KaimingHe/deep-residual-networks

    用户1148525
  • 云计算资源配置的联合优化研究

    本文介绍一篇采用随机规划模型来进行虚拟机和带宽资源配置的论文。这个成果来自于南洋理工大学计算机工程学院Chase 、Niyato两位学者的研究,该文章于2017...

    石晓文
  • 亚马逊AI主任科学家李沐:机器学习简介

    本书作者跟广大程序员一样,在开始写作前需要来一杯咖啡。我们跳进车准备出发,Alex掏出他的安卓喊一声“OK Google”唤醒语言助手,Mu操着他的中式英语命令...

    IT派
  • 1分钟链圈|V神被拒绝进行辩论直播;君士坦丁堡协议或于11月升级

    这里是 10 月 13 日的每日1句话新闻晚报,只需1分钟,看看全球最热、最新的区块链新闻。

    区块链大本营
  • 由生成模型到domain迁移:GAN、CGAN、StarGAN、CycleGAN、AsymmetricCycleGAN

    最近看一篇CVPR2018文章PairedCycleGAN: Asymmetric Style Transfer for Applying and Remov...

    天天P图攻城狮

扫码关注云+社区

领取腾讯云代金券