【问题标题】:spark finding max value and the associated key火花寻找最大值和相关的键
【发布时间】:2016-02-26 02:11:57
【问题描述】:

我的问题基于this question。我有一个火花对 RDD(键,计数):[(a,1), (b,2), (c,1), (d,3)]

如何找到计数最高的键和实际计数?

【问题讨论】:

    标签: python apache-spark tuples max pyspark


    【解决方案1】:
    (sc
        .parallelize([("a",1), ("b",5), ("c",1), ("d",3)])
        .max(key=lambda x:x[1]))
    

    确实返回('b', 5),而不仅仅是5max的第一个参数是用于比较的key(这里明确说明),但是max仍然返回整个值,这里是完整的元组。

    【讨论】:

    • 你是最棒的:)
    • 谢谢@Mariam!
    【解决方案2】:
    val myRDD = sc.parallelize(Array(
         |      | ("a",1),
         |      | ("b",5),
         |      | ("c",1),
         |      | ("d",3))).sortBy(_._2,false).take(1)
    

    按降序对值进行排序并取最上面的元素。

    【讨论】:

    • 排序只是为了获得最大值可能会更慢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-12
    相关资源
    最近更新 更多