如何在Python中编写简单代码,并且速度超越Spark?( 四 )

\n \n

像Spark这样的框架具有异步引擎(Akka) 和内存优化数据布局的优势 , 它们可以将工作分配给不同机器中的多个工作人员 , 从而提高性能和可扩展性 , 并使其成为实际标准 。

\n \n

RAPIDS帮助Python开挂

\n \n

英伟达想出了绝佳的点子:保留面向Python的API(接口)中受欢迎框架 , 如pandas、Scikit-learn和而在GPU的高性能C代码中处理数据 。 他们采用内存友好型的ApacheArrow 数据格式 , 以加速数据传输和操作 。

\n \n

RAPIDS支持数据IO (cuIO) 数据分析(cuDF)和机器学习(cuML).这些不同组成部分共享相同的内存结构 , 因此基本上可以在不将数据来回复制到CPU中的情况下完成数据摄取、分析和机器学习的过程 。

\n \n

以下示例演示了读取大型Json文件(1.2GB)的实例 , 其使用pandas API聚合数据 。 可以看到 , 使用RAPIDS运行相同的代码 , 速度如何增快30倍 , 与没有IO的计算相比 , 它快了100倍 , 这意味着还有对数据进行更为复杂计算的余地 。

\n \n \n

推荐阅读