Spark中自定义排序
来源:互联网 发布:拱拱淘宝工具箱下载 编辑:程序博客网 时间:2024/05/29 19:55
import org.apache.spark.{SparkConf, SparkContext}object OrderContext { //object GirlOrdering extends Ordering[Girl]{} implicit val girlOrdering = new Ordering[Girl] { override def compare(x: Girl, y: Girl): Int = { if(x.faceValue > y.faceValue) 1 else if (x.faceValue == y.faceValue) { if(x.age > y.age) -1 else 1 } else -1 } }}/** * Created by root on 2016/5/18. *///sort =>规则 先按faveValue,比较年龄//name,faveValue,ageobject CustomSort { def main(args: Array[String]) { val conf = new SparkConf().setAppName("CustomSort").setMaster("local[2]") val sc = new SparkContext(conf) val rdd1 = sc.parallelize(List(("yuihatano", 90, 28, 1), ("angelababy", 90, 27, 2),("JuJingYi", 95, 22, 3))) import OrderContext._ val rdd2 = rdd1.sortBy(x => Girl(x._2, x._3), false) println(rdd2.collect().toBuffer) sc.stop() }}/** * 第一种方式 * @param faceValue * @param agecase class Girl(val faceValue: Int, val age: Int) extends Ordered[Girl] with Serializable { override def compare(that: Girl): Int = { if(this.faceValue == that.faceValue) { that.age - this.age } else { this.faceValue -that.faceValue } }} *//** * 第二种,通过隐式转换完成排序 * @param faceValue * @param age */case class Girl(faceValue: Int, age: Int) extends Serializable
阅读全文
0 0
- Spark中自定义排序
- Spark中自定义排序
- SPARK中实现用户自定义排序
- spark 自定义排序详解
- Spark自定义排序
- Spark 自定义排序
- SPARK中实现自定义分区
- 自定义排序及RDD理解,spark
- 自定义DataGridView中排序方式
- mysql中字段自定义排序
- sql中实现自定义排序
- mysql 中自定义变量排序
- python中自定义排序函数
- python中自定义排序函数
- Java中自定义排序规则
- Spark排序算法!! 使用java开发 自定义key值 进行二次排序 深入解析!
- 在Spark中自定义Kryo序列化输入输出API
- 在Spark中自定义Kryo序列化输入输出API
- python 多进程 —— 进程间通信
- TextureView+SurfaceTexture+OpenGL ES来播放视频(一)
- 利用zxing和zbar 实现扫一扫功能
- 装饰模式
- nginx+lua 构建waf防火墙
- Spark中自定义排序
- 动态分配数组C++模板
- 公司做网站选择建站的几大原则
- 泛型集合List<T> 的详细用法
- Android剪裁图片
- 【笔记】ZooKeeper的安装与配置(单节点)
- MySQL的备份与恢复
- iOS跳转设置界面的多个url
- 处理大并发之一 对异步非阻塞的理解