Chciałbym posortować pary K/V według wartości, a następnie podjąć największe pięć wartości. Udało mi się to zrobić, przywracając K/V za pomocą pierwszej mapy, sortując w porządku malejącym z FALSE, a następnie odwracając key.value do oryginału (druga mapa), a następnie biorąc pierwsze 5, które są największym, kod jest następujący:takeOrdered malejąco Pyspark
RDD.map(lambda x:(x[1],x[0])).sortByKey(False).map(lambda x:(x[1],x[0])).take(5)
wiem, że to działanie takeOrdered na pySpark, ale tylko udało się rozwiązać na wartości (a nie na klucz), nie wiem jak uzyskać malejąco sortowanie:
RDD.takeOrdered(5,key = lambda x: x[1])
RDD.takeOrdered (5, lambda (słowo, liczba): -konta) – Tagar
https://spark.apache.org/docs/latest/api/python/pyspark.html#pyspark.RDD.takeOrdered – arj