簡體   English   中英

Spark中的鍵值對順序

[英]Key-value pair order in Spark

當應用諸如reduceByKey的功能時,除了元組的第一個元素reduceByKey ,是否有任何其他方法可以指定鍵?

我當前的解決方案包括使用map函數以正確的順序重新排列元組,因為我假設此附加操作是以計算為代價的,對嗎?

要使用reduceByKey ,您需要一個鍵值RDD[K,V] ,其中K是將要使用的鍵。 如果您具有RDD[V] ,則需要首先執行map以指定密鑰。

myRdd.map(x => (x, 1))

如果您已經擁有RDD[K,V] ,而密鑰不是您想要的...您需要另一個map 沒有其他方法可以解決此問題。 例如,如果要在鍵和值之間切換,可以執行以下操作:

myPairRdd.map(_.swap)

您可以覆蓋compare函數並調用sortByKey

implicit val sortFunction = new Ordering[String] {
  override def compare(a: String, b: String) = // compare function
}

val rddSet: RDD[(String, String)] = sc.parallelize(dataSet)

rddSet.sortByKey()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM