Apache spark 火花合并不减少分区数

Apache spark 火花合并不减少分区数,apache-spark,pyspark,Apache Spark,Pyspark,我有这个密码 df.聚结(40) 它不是print 40,是不是我做错了什么?coalesce方法返回一个转换后的数据帧。它不会修改原始数据帧。应用合并转换后,必须获得分区的数量 例如,在8芯机器上运行的spark shell上,返回以下输出 scala> df.rdd.getNumPartitions res3: Int = 8 应用合并后,将获得所需的输出 scala> df.coalesce(1).rdd.getNumPartitions res1: Int = 1

我有这个密码

df.聚结(40)


它不是print 40,是不是我做错了什么?

coalesce方法返回一个转换后的数据帧。它不会修改原始数据帧。应用合并转换后,必须获得分区的数量

例如,在8芯机器上运行的spark shell上,返回以下输出

 scala> df.rdd.getNumPartitions
 res3: Int = 8
应用合并后,将获得所需的输出

 scala> df.coalesce(1).rdd.getNumPartitions
 res1: Int = 1

coalesce方法返回一个经过转换的数据帧。它不会修改原始数据帧。应用合并转换后,必须获得分区的数量

例如,在8芯机器上运行的spark shell上,返回以下输出

 scala> df.rdd.getNumPartitions
 res3: Int = 8
应用合并后,将获得所需的输出

 scala> df.coalesce(1).rdd.getNumPartitions
 res1: Int = 1

尝试这样做:

df_new=df.coalesce(40)
print(" after coalisce getting nb partition " + str(df_new.rdd.getNumPartitions()))

Coalesce返回一个新的rdd,而不是进行就地更改。

尝试这样做:

df_new=df.coalesce(40)
print(" after coalisce getting nb partition " + str(df_new.rdd.getNumPartitions()))

Coalesce返回一个新的rdd,而不是进行就地更改。

我建议您先了解spark体系结构,然后尝试理解不可变对象的概念。这将帮助您更好地理解其他用户提供的上述响应。

我建议您先了解spark体系结构,然后尝试理解不可变对象的概念。这将帮助您更好地了解其他用户提供的上述回答。

我强烈建议您编辑问题,以便更好地遵循的指导原则。我强烈建议您编辑问题,以便更好地遵循的指导原则。