SPARK中实现用户自定义排序
来源:互联网 发布:免费网络营销软件 编辑:程序博客网 时间:2024/06/03 21:55
大家:
好!SPARK中实现用户自定义排序的样例。
package day04
import org.apache.spark.{SparkConf, SparkContext}
/**
* Created by Administrator on 2017/9/24.
* 功能: 演示用户自定义排序 继承Ordered 类,重写compare方法
*
*/
// 先定义一个样例类
case class Goods(val simi:Int,val price:Int) extends Ordered[Goods] with Serializable
{
override def compare(that:Goods):Int={
if(this.price==that.price){
this.simi-that.simi
}else{
this.price-that.price
}
}
}
object UserDefinedSort {
def main(args: Array[String]): Unit = {
val conf=new SparkConf().setAppName("UserDefinedSort").setMaster("local[2]")
val sc=new SparkContext(conf)
val lines=sc.textFile("c://sort.txt")
// val lines=sc.parallelize(List(("apple",6,5288),("sansung",5,5288),("huawei",1,3788),("mi",4,2499),("sony",3,3799),("lg",5,2499)))
val rdd=lines.map(line=>{
val f=line.split("\t")
(f(0),f(1).toInt,f(2).toInt)
})
// println(rdd.collect().toBuffer)
// println("-------------")
val sort=rdd.sortBy(x=>Goods(x._2,x._3),false)
// val sort=lines.sortBy(x=>Goods(x._2,x._3),false)
println(sort.collect().toBuffer)
}
}
说明: 样例数据如下所示:
apple 5 5288
sansung 5 5888
huawei 1 3788
mi 4 2499
sony 3 3799
lg 4 2999
- SPARK中实现用户自定义排序
- Spark中自定义排序
- Spark中自定义排序
- SPARK中实现自定义分区
- spark 自定义排序详解
- Spark自定义排序
- Spark 自定义排序
- sql中实现自定义排序
- 用户对列表实现自定义排序实现方案
- MFC中用户自定义消息的实现
- spark 二次排序实现
- Lucene 中自定义排序的实现
- java中如何实现自定义排序
- Java数组排序中Comparator接口实现自定义排序
- Spark自定义累加器的实现
- 【spark】sortByKey实现二次排序
- Spark:Java实现 二次排序
- Spark:Scala实现二次排序
- Windows下安装Ubuntu 16.04双系统
- 关于多个按钮更改程序执行状态的实验
- linux测试题总结
- HDU
- 文章标题
- SPARK中实现用户自定义排序
- c语言入门:用for循环输出乘法口诀表
- linux中的定时及延时命令
- Google Map API 使用总结
- wordpress知更鸟添加“说说”功能
- CSS引擎渲染步骤和Firefox的优化内容
- 整数大小比较 阶乘就和 数据加密
- JavaSE基础常用类2
- 深入理解Spring4框架(四)——依赖