scala – 订购RDD [String]
发布时间:2020-12-16 18:56:22 所属栏目:安全 来源:网络整理
导读:考虑 val animals = List("penguin","ferret","cat").toSeqval rdd = sc.makeRDD(animals,1) 我想订购这个RDD.我是Scala的新手,对于如何做到这一点感到有些困惑. 解决方法 可以在 here找到RDD文档.查看sortBy: sortBy[K]( f: (T) ? K,ascending: Boolean =
考虑
val animals = List("penguin","ferret","cat").toSeq val rdd = sc.makeRDD(animals,1) 我想订购这个RDD.我是Scala的新手,对于如何做到这一点感到有些困惑. 解决方法
可以在
here找到RDD文档.查看sortBy:
sortBy[K]( f: (T) ? K,ascending: Boolean = true,numPartitions: Int = this.partitions.size ) K是您要排序的RDD片段的类型. f是一个函数,您可以使用def在其他地方定义并按名称传递它,也可以在行中匿名创建一个函数(更像scala).升序和numPartition应该是自我解释的. 所以,考虑到这一切,尝试: rdd.sortBy[String]({animal => animal}) 然后尝试这个: rdd.sortBy[String]({animal => animal},false) 然后是这个,它将RDD按动物名称中的字母“e”的数量从最多到最小排序: rdd.sortBy[Int]({a => a.split("").filter(char => char == "e").size},false) 应该注意的是原始的rdd没有排序 – 操作返回一个新的,排序的RDD. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |