首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Pyspark中循环一组查询的运行速度非常慢

在Pyspark中循环一组查询的运行速度非常慢
EN

Stack Overflow用户
提问于 2019-09-13 08:43:29
回答 1查看 569关注 0票数 0

我在一个作业中用pyspark运行3个查询。执行第一个查询,然后在第二个查询中使用此查询的结果,在第三个查询中使用第二个查询的结果。最后,保存第三个查询。

这项工作需要几个小时。我有一个15个实例的spark集群和32 GB内存,每个实例有8个内核。在优化这个场景时需要帮助。

所有这些查询都循环运行,如下所示:

对于存储中的id : Execute Query- 1执行Query-2执行Query -3

然后保存最终输出。

For循环迭代2400次。

EN

回答 1

Stack Overflow用户

发布于 2021-05-12 19:53:30

迭代地使用数据帧是很慢的

在循环等中迭代使用Dataframe的

  • 速度很慢,因为它会导致大量的查询计划。此问题的详细信息为here

val rdd = df.rdd rdd.cache() sqlCtx.createDataFrame(rdd.df.schema)

来自spark文档:检查点可用于截断此DataFrame的逻辑计划,这在计划可能呈指数增长的迭代算法中特别有用。它将保存到使用SparkContext.setCheckpointDir().设置的检查点目录内的文件中

  • 我不确定此问题是否已在spark 3.X中得到解决,因为该问题已标记为已解决,但没有解释

采取的任何操作

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57916024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档