Was ist die Syntax, um die Bestellung für die takeOrdered() -Methode eines RDD in Spark kehren?Wie Reverse für RDD.takeOrdered Bestellung()?
für Bonuspunkte, was ist die Syntax für benutzerdefinierte Sortierung für eine RDD in Funken?
Was ist die Syntax, um die Bestellung für die takeOrdered() -Methode eines RDD in Spark kehren?Wie Reverse für RDD.takeOrdered Bestellung()?
für Bonuspunkte, was ist die Syntax für benutzerdefinierte Sortierung für eine RDD in Funken?
umgekehrter Reihenfolge
val seq = Seq(3,9,2,3,5,4)
val rdd = sc.parallelize(seq,2)
rdd.takeOrdered(2)(Ordering[Int].reverse)
Ergebnis wird Array (9,5)
Custom Order
sein Wir Menschen nach Alter sortiert werden.
case class Person(name:String, age:Int)
val people = Array(Person("bob", 30), Person("ann", 32), Person("carl", 19))
val rdd = sc.parallelize(people,2)
rdd.takeOrdered(1)(Ordering[Int].reverse.on(x=>x.age))
Ergebnis wird Array (Person (ann, 32)) sein
val rdd1 = sc.parallelize(List(("Hadoop PIG Hive"), ("Hive PIG PIG Hadoop"), ("Hadoop Hadoop Hadoop")))
val rdd2 = rdd1.flatMap(x => x.split(" ")).map(x => (x,1))
val rdd3 = rdd2.reduceByKey((x,y) => (x+y))
// umgekehrter Reihenfolge (absteigende Sortierung)
rdd3.takeOrdered(3)(Ordering[Int].reverse.on(x=>x._2))
Ausgang:
res0: Array[(String, Int)] = Array((Hadoop,5), (PIG,3), (Hive,2))
// aufsteigende Sortierung
rdd3.takeOrdered(3)(Ordering[Int].on(x=>x._2))
Ausgang:
res1: Array[(String, Int)] = Array((Hive,2), (PIG,3), (Hadoop,5))
Sortierung aufsteigend tun wir >>> rdd.takeOrdered (2) oder tun müssen >>> rdd.takeOrdered (2) (Bestell [int]). Standardmäßig ist es in aufsteigender Reihenfolge sortiert. Aber stattdessen eine optimierte Art und Weise, dies zu tun, indem Sie den Befehl top (2) verwenden. –
Für die Bestellung von Custom In Ascending >>> rdd.takeOrdered (1) (Bestellung [Int] .on (x => x.age)). Foreach (println) ... Für die Bestellung Custom auf String-Feld eines Objekts >> > rdd.takeOrdered (1) (Bestellinformation [String] .on (x => x.name)). foreach (println) –