Pyspark count() 在使用减法命令之前和之后需要很长时间
Posted
技术标签:
【中文标题】Pyspark count() 在使用减法命令之前和之后需要很长时间【英文标题】:Pyspark count() is taking long time before and after using subtract command 【发布时间】:2021-12-16 06:00:11 【问题描述】:这是我的代码:
spark_df1 = spark.read.option('header','True').csv("/mnt/gmclmprod/dsshare/cp106_rf_dev_final_apr20.csv.gz")
spark_df1.count( ) # This command took around 1.40 min for exectuion
spark_df1 = spark.read.option('header','True').csv("/mnt/gmclmprod/dsshare/cp106_rf_dev_final_apr20.csv.gz")
test_data = spark_df1.sample(fraction=0.001)
spark_df2 = spark_df1.subtract(test_data)
spark_df2.count() #This command is taking more than 20 min for execution. Can any one help why
#its taking long time for same count command?
为什么count()
在使用subtract
命令前后需要很长时间?
【问题讨论】:
鉴于这是一个与性能相关的问题,请关注this guide 以更好地构建问题。 【参考方案1】:要点是,subtract
是一项昂贵的操作,涉及连接和不同的发生改组,因此与依靠 spark_df1.count()
相比需要很长时间。多长时间取决于 Spark 执行器配置和分区方案。请根据评论更新问题以进行深入分析。
【讨论】:
以上是关于Pyspark count() 在使用减法命令之前和之后需要很长时间的主要内容,如果未能解决你的问题,请参考以下文章
Pyspark - df.cache().count() 永远运行
Pyspark - 使用 count() 分组数据并可以排序?
Pyspark 错误:“Py4JJavaError:调用 o655.count 时出错。”在数据帧上调用 count() 方法时