apache-spark - 如何加速 Spark (Pyspark) 中的缓存?
问题描述
我需要在 Pyspark(2.4.4) 中缓存一个数据帧,而且内存缓存很慢。
通过读取相同的文件(CSV),我使用 Spark 缓存对 Pandas 缓存进行基准测试。具体来说,Pandas 的速度要快 3-4 倍。
提前致谢
解决方案
你在比较苹果和橘子。Pandas 是单机单核数据分析库,而 pyspark 是分布式(集群计算)数据分析引擎。这意味着由于开销(分布式架构,JVM ...),您永远不会在使用 pyspark 的单台机器上读取小文件的 pandas 表现出色。这也意味着一旦您的文件超过一定大小,pyspark 的性能就会优于 pandas。
作为开发人员,您必须选择最适合您要求的解决方案。当 pandas 对您的项目来说速度更快并且您预计未来数据不会大幅增加时,请使用 pandas。否则使用 pyspark 或 dask 或...
推荐阅读
- wolfram-mathematica - 在 Mathematica 的 BarChart 中包含误差线
- ibm-integration-bus - IBM Integration Bus - 文件输入节点 - 更改 mqsiarchive 文件夹名称/位置
- android - 我需要后台线程和加载程序来从 firebase 检索数据吗?
- javascript - 将参数传递给函数而不传播(IE11)
- git - Git 不在 master 并且想要推送到 Github
- android - 关于“com.android.tools.r8.errors.b:成员类不能同时是(非成员)本地类”的错误。
- c# - 函数返回后是否可以将参数的属性标记为空/非空?
- webpack - 试图远离 nodeIntegration
- java - Spring Boot/@JDBCTest - 没有可用的“com.fasterxml.jackson.databind.ObjectMapper”类型的合格 bean
- python - 编写一个函数(递归),计算从 1 到 n 的偶数之和