data.rdd.getNumPartitions() # output 2456
Alors je faisdata.rdd.repartition(3000)
Maisdata.rdd.getNumPartitions()
# output est toujours 2456
Comment changer le nombre de partitions. Une approche peut être d’abord convertir DF en rdd, la repartitionner puis reconvertir rdd en DF. Mais cela prend beaucoup de temps… .. De plus en plus, le nombre de partitions rend les opérations plus distribuées et donc plus rapides? Merci.
Vous pouvez vérifier le nombre de partitions:
data.rdd.partitions.size
Pour changer le nombre de partitions:
newDF = data.repartition(3000)
Vous pouvez vérifier le nombre de partitions:
newDF.rdd.partitions.size
Méfiez-vous des données mélangées lors du repartitionnement, cela coûte cher. Jetez un oeil à coalesce
si nécessaire.
print df.rdd.getNumPartitions()
# 1
df.repartitions(5)
print df.rdd.getNumPartitions()
# 1
df = df.repartitions(5)
print df.rdd.getNumPartitions()
# 5
voir Spark: le guide définitif chapitre 5- Opérations sur les structures de base
ISBN-13: 978-1491912218
ISBN-10: 1491912219