一行代码,Pandas秒变分布式,快速处理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
来源:量子位
时间:2018-10-09 22:31 来源: 转发量:次
声明:本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,不为其版权负责。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。
相关文章:
- [数据挖掘]Spark 迁移到 K8S 在有赞的实践与经验
- [数据挖掘]Spark Operator 初体验
- [数据挖掘]如何实现Spark on Kubernetes?
- [数据挖掘]Spark SQL 物化视图技术原理与实践
- [数据挖掘]Spark on K8S 的最佳实践和需要注意的坑
- [数据挖掘]Spark 3.0重磅发布!开发近两年,流、Python、SQL重
- [数据挖掘]Spark 3.0开发近两年终于发布,流、Python、SQL重大
- [数据挖掘]Apache Spark 3.0.0 正式版终于发布了,重要特性全面
- [数据挖掘]Spark 3.0 自适应查询优化介绍,在运行时加速 Sp
- [数据挖掘]Flink SQL vs Spark SQL
相关推荐:
网友评论: