0
格式化我有一些火花像這樣的代碼:刪除列表中的火花
val combPrdGrp = custPrdGrp3.join(cmpgnPrdGrp3)
val combPrdGrp2 = combPrdGrp.groupByKey
val combPrdGrp3 = combPrdGrp2.map{case (k3, vals3) => {
val valsString3 = vals3.map{case (id3, m3) => {
s"$id3 $m3"
}
}
s"$k3 $valsString3"
}}
當我做了combPrdGrp3.first
我得到下面的結果。
res1: String = 110| List({'CNSMR_DIRCT_SAVG': {PRVCY_CALL: 1, PRVCY_SWP: 1, PRVCY_MAIL: 1, PRVCY_AFIL: 1, PRVCY_FCRA: 1, PRVCY_PIPE: 1, PRVCY_GLBA: 4}}| {'CARDXSL1503L': {contacted: '3/25/2015', channel: 'CARD-XSL', hit_home_date: 'ASPEN - Reminder', campaign: 'XSELL TO 360', creative: 'EM', refcode: 'Y'}})
我想List(
和結束)
被刪除,但似乎無法弄清楚如何做到這一點。我試圖用.pipe
但似乎並沒有這樣的工作:
val combPrdGrp4 = combPrdGrp3.pipe("sed s/List((//g").pipe("sed s/)//g")
會崩潰SC出於某種原因。嘗試處理結果時,我會得到一個sc shutdown
錯誤。
做combPrdGrp2.first
會產生這樣的結果:
res2: (String, Iterable[(String, String)]) = (110|,CompactBuffer(({'CNSMR_DIRCT_SAVG': {PRVCY_CALL: 1, PRVCY_SWP: 1, PRVCY_MAIL: 1, PRVCY_AFIL: 1, PRVCY_FCRA: 1, PRVCY_PIPE: 1, PRVCY_GLBA: 4}}|, {'CARDXSL1503L': {contacted: '3/25/2015', channel: 'CARD-XSL', hit_home_date: 'ASPEN - Reminder', campaign: 'XSELL TO 360', creative: 'EM', refcode: 'Y'}})))
得到':20:error:not found:value n',但我在'combPrdGrp2.map' ....的情況下看到了n ......而不是'val combPrdGrp2 = combPrdGrp.groupByKey' ...它變成'val combPrdGrp2 = List(combPrdGrp)'?當我做combPrdGrp2.first時,我得到這個錯誤:':58:error:value first不是List [org.apache.spark.rdd.RDD [(String,(String,String)]]]的成員' ...以及關鍵的團隊會發生什麼? –
user2061886
1)我在我的答案中糾正了錯字,所以它編譯正確。 2)你仍然會使用'val combPrdGrp2 = combPrdGrp.groupByKey'。 'List(elem)'只是創建一個具有類似內容的集合,以顯示'mkString'如何在你的情況下工作。 –