2017-04-19 63 views
-4

以下代碼字在Pyspark(Spark 1.6.2)中完美無瑕。任何一個可以請幫我與相關的代碼在斯卡拉在Spark(Scala)中爲以下Pyspark(Spark 1.6.2)請求等效代碼代碼


Pyspark代碼:

locwtemps = sc.parallelize(['Hayward,71|69|71|71|72',  
'Baumholder,46|42|40|37|39',  
'Alexandria,50|48|51|53|44', 
'Melbourne,88|101|85|77|74']) 

kvpairs = locwtemps.map(lambda x: x.split(',')) 

locwtemps = kvpairs.flatMapValues(lambda x: x.split('|')).map(lambda x: (x[0], int(x[1]))) 

輸出:

# [(u'Hayward', 71),#  (u'Hayward', 69),#  (u'Hayward', 71),#  (u'Hayward', 71),#  (u'Hayward', 72)] 

回答

-2
val locwtemps = sc.parallelize(List("Hayward,71|69|71|71|72", "Baumholder,46|42|40|37|39", "Alexandria,50|48|51|53|44", "Melbourne,88|101|85|77|74")) 
val kvpairs = locwtemps.map(_.split(',')) 
kvpairs.map(x => (x(0),x(1))).flatMapValues(_.split('|')).mapValues(y => y.toInt).collect 
+0

謝謝,它按預期工作 –