scala - 在 Spark RDD 中寻找最大值

标签 scala apache-spark

从以下内容中,如何获得具有最高值的元组?

Array[(String, Int)] = Array((a,30),(b,50),(c,20))

在这个例子中,我想要的结果是 (b,50)

最佳答案

您可以使用 reduce() :

val max_tuple = rdd.reduce((acc,value) => { 
  if(acc._2 < value._2) value else acc})
//max_tuple: (String, Int) = (b,50)

数据
val rdd = sc.parallelize(Array(("a",30),("b",50),("c",20)))

关于scala - 在 Spark RDD 中寻找最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44045530/

相关文章:

java - 如何打包成.jar java main + jruby编译类+ ruby​​脚本?

amazon-web-services - 在 AWS EMR 上运行 Spark,如何在主节点上运行驱动程序?

java - 为什么从 Java 应用程序连接到 Spark Standalone 时会抛出 "Cannot call methods on a stopped SparkContext"?

apache-spark - Delta Lake 回滚

scala - Spark Dataframe 以 avro 格式写入 kafka 主题?

scala - 如何解决 eclipse 2019 中的 Scala 错误?

apache-spark - 带有 Spark 的 UIMA

apache-spark - 在 Docker 中运行 Spark 时出现 java.lang.OutOfMemoryError

scala - 当生成的存在类型太复杂时,toList on shapeless HList 失败

multithreading - 等待斯卡拉的任何指定 future 吗?