Spark'da RDD'nin takeOrdered() yöntemi için sıralamayı tersine çeviren sözdizimi nedir?RDD.takeOrdered() için sipariş nasıl tersine çevrilir?
Bonus noktaları için, Spark'da bir RDD için özel siparişin sözdizimi nedir?
Spark'da RDD'nin takeOrdered() yöntemi için sıralamayı tersine çeviren sözdizimi nedir?RDD.takeOrdered() için sipariş nasıl tersine çevrilir?
Bonus noktaları için, Spark'da bir RDD için özel siparişin sözdizimi nedir?
Ters al
val seq = Seq(3,9,2,3,5,4)
val rdd = sc.parallelize(seq,2)
rdd.takeOrdered(2)(Ordering[Int].reverse)
Sonucu Dizisi (9,5)
Özel Sipariş
Biz yaşa göre insanları sıralanır olacak.
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))
Sonucu Dizisi (Kişi (ann, 32)) olacaktır
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))
// Ters Sipariş (Azalan al)
rdd3.takeOrdered(3)(Ordering[Int].reverse.on(x=>x._2))
Çıktı:
res0: Array[(String, Int)] = Array((Hadoop,5), (PIG,3), (Hive,2))
// Artan Sipariş
rdd3.takeOrdered(3)(Ordering[Int].on(x=>x._2))
Çıktı:
res1: Array[(String, Int)] = Array((Hive,2), (PIG,3), (Hadoop,5))
biz >>> rdd.takeOrdered (2) ya da yapmanız gereken sırala Artan yapmak için >>> rdd.takeOrdered (2) (Sipariş [Int]). Varsayılan olarak, Artan Sipariş olarak sıralanır. Ancak bunun yerine, üst (2) komutunu kullanarak daha iyi bir şekilde yapma yöntemi. –
Artan Sipariş Verme >>> rdd.takeOrdered (1) ([Int] .on (x => x.age) Siparişi) foreach (println) ... Bir Nesnenin Dize Alanı Üzerine Sipariş Verme İçin >> > rdd.takeOrdered (1) (Sipariş [dize] .sistem (x => x.name)). foreach (println) –