Apache spark 火花合并不减少分区数
我有这个密码 df.聚结(40)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
它不是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体系结构,然后尝试理解不可变对象的概念。这将帮助您更好地了解其他用户提供的上述回答。我强烈建议您编辑问题,以便更好地遵循的指导原则。我强烈建议您编辑问题,以便更好地遵循的指导原则。