一、spark的幾種排序方式
(1)直接根據字段進行排序 弊端:如果欄位太多不便於使用
(2)封裝乙個類,實現它的ordered 弊端:用自定義實現序列化方式比較麻煩
(3)用case class的方式排序 推薦:不用new、預設就實現了序列化
(4)最簡單的排序方式ordering on
二、spark最簡單的一種排序方式ordering on
package com.ruozedata.bigdata.spark.core02
import com.ruozedata.bigdata.spark.utils.contextutils
import com.ruozedata.bigdata.spark.utils.implicitaspect._
def main(args: array[string]): unit = )
/*** ordering on
** -x._2, -x._3 排序規則
* (double,int) 定義的是規則的返回值的型別
* (string,double,int) 資料的型別
*/implicit val ord = ordering[(double,int)].on[(string,double,int)](x=>(-x._2, -x._3))
product.sortby(x=>x).printinfo()
sc.stop()
}}
輸出的結果
(紅酒,20.0,100)
(啤酒,20.0,10)
(白酒,5.0,200)
~~~~~~~~~~~~~~~~~~~
ThinkPHP CURD方法之order方法詳解
thinkphp curd方法的order方法屬於模型的連貫操作方法之一,該www.cppcns.com方法用於對操作的結果排序。具體用i bjsri法如下 model where status 1 order id desc limit 5 select 注意 連貫操作方法i bjsri沒有順序,...
Spark中排序的幾種方式
有如下的資料,我們需要對其進行排序,欄位的意思分別為 商品,數量 val rdd sc.parallelize list iphone5 1000 20 iphone6 2000 50 iphone7 2000 100 iphone11 5000 50 需求 把商品按照 公升序 import org...
sql中order進行複雜排序
現有一網紅表,每乙個網紅都已乙個直播開始時間和直播結束時間,現在我想在列出網紅列表的時候,把當前時間正在直播的網紅放在前面 使用where語句中的between能把正在直播的篩選出來,但我並不是把正在直播的篩選出來,只是把他們靠前排列。如果先查詢出來結果,再迴圈判斷重新排序的話看似可以,但注意我每次...