2016-04-13 18 views
0

numaralı sütunlarına dayanan column2'nin ortalamasını buldum apache spark ve scala dilini öğreniyorum. Yani biraz yardım lütfen. Cassandra sorgulama ve scala kodunda bir dataframe o olsun 3 sütun (c1, c2 ve c3) olsun .. ben bin zorunda (kutu boyutu = 3) (histogram gibi istatistikler,) c1 ve c1 kutularına c2 ve c3 ortalamalarını bulun. Döngüler için geleneksel yerine bunu yapmak için kullanabileceğim önceden oluşturulmuş işlevler var mı?Spark: binning column1 kullanarak ve column1'nin

+0

Bu yararlı inanıyoruz deneyin: http://stackoverflow.com/questions/29930110/how-to-more-efficiently-calculate-the-averages-for-each-key- in-a-ikili-kv – evgenii

cevap

0

bu

val modifiedRDD = rdd.map{case(c1, c2, c3) => ((c1), (c2, c3, 1))} 
val reducedRDD = modifiedRDD.reduceByKey{case(x, y) => (x._1+y._1, x._2+y._2, x._3+y._3)} 

val finalRDD = reducedRDD.map{case((c1), (totalC2, totalC3, count)) => (c1, totalC2/count, totalC3/count)}