我正在使用pyspark
,我致电getNumPartitions()
以查看是否需要repartition
,这会大大减慢我的代码。代码太大,无法在此处发布。我的代码是这样的:
for
循环,循环执行一系列将应用于DataFrame
withColumn
个功能,或pivot
这样的功能:https://databricks.com/blog/2016/02/09/reshaping-data-with-pivot-in-apache-spark.html getNumPartitions()
我的印象是,这不是一项昂贵的操作......我是误解,是否真的很贵?或者是其他什么东西减慢了我的代码?
答案 0 :(得分:1)
查看getNumPartitions()
的来源...
def getNumPartitions(self):
return self._jrdd.partitions().size()
它应该不那么昂贵。我怀疑还有其他因素导致你的速度减慢。
这就是我所知道的:
partitions()
才能计算分区