【问题标题】:What does ordering.by means in this spark code fragment?在这个 spark 代码片段中 ordering.by 是什么意思?
【发布时间】:2021-10-05 02:20:12
【问题描述】:

代码示例:(在 iPad 上,抱歉图片不是文字)

在这个例子中[(int,double),double] 代表什么? 我找不到有关它的文档...

为什么函数中有case 关键字? 和 Javascript 一样,在箭头函数中,case 关键字不是必需的。

【问题讨论】:

    标签: scala apache-spark spark-streaming


    【解决方案1】:

    看来sims 的类型是(Int, Double)(一个元组)。

    Ordering.by签名是

    def by[T, S](f: T => S)(implicit ord: Ordering[S]): Ordering[T] = new Ordering[T] {
    

    T(Int, Double)id

    SDoublesimilarity

    因此,您的函数根据similarity 的值进行排序。

    这里的case是用来提取元组的不同值的。否则,您的功能将是

    Ordering.by[(Int, Double, Double)]( v => v._2) // 2nd element of the tuple == similarity
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-28
      • 1970-01-01
      相关资源
      最近更新 更多