Как найти максимальное значение в паре RDD?

У меня есть искровая пара RDD (ключ, счет), как показано ниже

Array[(String, Int)] = Array((a,1), (b,2), (c,1), (d,3)) 

Как найти ключ с наивысшим счетчиком с использованием искрового scala API?

EDIT: тип данных пары RDD – org.apache.spark.rdd.RDD [(String, Int)]

Используйте метод Array.maxBy :

 val a = Array(("a",1), ("b",2), ("c",1), ("d",3)) val maxKey = a.maxBy(_._2) // maxKey: (String, Int) = (d,3) 

или RDD.max :

 val maxKey2 = rdd.max()(new Ordering[Tuple2[String, Int]]() { override def compare(x: (String, Int), y: (String, Int)): Int = Ordering[Int].compare(x._2, y._2) }) 

Используйте takeOrdered(1)(Ordering[Int].reverse.on(_._2)) :

 val a = Array(("a",1), ("b",2), ("c",1), ("d",3)) val rdd = sc.parallelize(a) val maxKey = rdd.takeOrdered(1)(Ordering[Int].reverse.on(_._2)) // maxKey: Array[(String, Int)] = Array((d,3)) 

Для Pyspark:

Пусть a – пара RDD с ключами как String и значения как целые числа, тогда

 a.max(lambda x:x[1]) 

возвращает пару значений ключа с максимальным значением. В основном максимальные функции заказываются по возвращаемому значению lambda-функции.

Здесь a представляет собой пару RDD с такими элементами, как ('key',int) а x[1] просто ссылается на целую часть элемента.

Обратите внимание, что функция max сама по себе будет заказывать ключом и возвращать максимальное значение.

Документацию можно найти на странице https://spark.apache.org/docs/1.5.0/api/python/pyspark.html#pyspark.RDD.max

Spark RDD более эффективны, когда они оставлены как RDD и не превращаются в массивы

 strinIntTuppleRDD.reduce((x, y) => if(x._2 > y._2) x else y) 
  • Как преобразовать A ] в B ], если A и B являются монадами?
  • Обновление операций в classе Scala Case
  • Как перенести RDD в Spark
  • Что такое лямбды типа Scala и каковы их преимущества?
  • Разница между складками и foldLeft или foldRight?
  • Как создать и использовать multidimensional array в Scala?
  • Spark - загрузить CSV-файл как DataFrame?
  • Как я повторяю RDD в искры apache (scala)
  • Scala: Как определить «общие» параметры функции?
  • java.io.IOException: Не удалось найти исполняемый файл null \ bin \ winutils.exe в двоичных файлах Hadoop. искра Eclipse на windowsх 7
  • Создание неизменяемых парных объектов
  • Давайте будем гением компьютера.