我是新來的spark想要一些建議。我有一個RDD說carsrdd
下面給出。手動將密鑰/索引分配給Spark中的RDD列(pyspark)
carsrdd=[(u'Ford Mustang', u'6', u'US', 18.0), (u'Mercury Capri 2000', u'4', u'US', 23.0), (u'Chevrolet Impala', u'8', u'US', 52.0)]
我想相對於上carsrdd
適用keyby()
到keys/columns/index
但作爲默認我必須使用keys
像(0,1,2,3)
以上RDD。 但我的問題是有辦法設置manual keys
以上rdd像我想要使用keys
如說(2,4,7,8)
。
是否可以爲RDD設置新的手動鍵?我想對這個問題提出建議。
注:我這樣爲了這個,我需要preserve
的RDD的keys
,用於與perserved keys
RDD上執行進一步的操作這樣做是因爲我對RDD進一步縮小進行運算的系列的The RDD。
Hey @mtoto,因爲我想在同一個rdd上執行'keyby()',後面跟'reducebykey()'的系列,這會導致每個'keyby()和reducebykey()'操作的rdd大小縮小,如同shriked rdd導致該rdd的鍵的變化,因此我必須再次更改鍵以在該rdd上執行'keyby()和reducebykey()'。 –
keyby或reducebykey都不會更改您的rdd中的密鑰。請說明你的意思。 – mtoto
嗨@mtoto,我已經在這裏詳細詢問了同樣的問題[保存rdd的密鑰](http://stackoverflow.com/questions/43276383/preserving-keysindex-of-an-rdd-in-pyspark) –