Vorrei dividere le coppie K/V in base ai valori e quindi prendere i cinque valori più grandi. Sono riuscito a farlo con il ripristino di K/V con la prima mappa, l'ordinamento in ordine decrescente con FALSE, e quindi l'inversione di chiave.valore all'originale (seconda mappa) e quindi prendere i primi 5 che sono i bigget, il codice è questo:takeOrdered discendente Pyspark
RDD.map(lambda x:(x[1],x[0])).sortByKey(False).map(lambda x:(x[1],x[0])).take(5)
so che c'è un'azione takeOrdered su pySpark, ma ho solo riuscito a ordinare sui valori (e non sulla chiave), non so come ottenere un discendente di ordinamento:
RDD.takeOrdered(5,key = lambda x: x[1])
RDD.takeOrdered (5, lambda (word, count): -count) – Tagar
https://spark.apache.org/docs/latest/api/python/pyspark.html#pyspark.RDD.takeOrdered – arj