Sono un novizio in spark/scala. Questo è quello che sto facendo per calcolare il primo quartile di un file CSVcalcolo del primo quartile per una colonna numerica nella scintilla
val column= sc.textFile("test.txt").map(_.split(",")(2)).flatMap(_.split(",")).map((_.toDouble))
val total = column.count.toDouble
val upper=(total+1)/4
val upper2= scala.math.ceil(upper).toInt
Io non sono davvero sicuro di come ordinare la colonna diversa aggiungendo un valore coppia di chiavi. tutto ciò di cui ho bisogno è di prendere gli ultimi 2 valori per i quartili, dopo che sono stati ordinati. Ma sono costretto a creare una coppia di valori chiave.
val quartiles = column.map((_,1)).sortByKey(true).take(upper2)
val first_quartile =0
if(upper % upper.toInt >0){
first_quartile = quartiles(upper.toInt-1)
}else{
first_quartile = (quartiles(upper2-1) +(quartiles(upper2-2))/2
}
Questo funziona, ma mi lascerà con una fastidiosa coppia di valori chiave. come faccio a tornare indietro a solo 1 colonna, invece di 2 (ad esempio la coppia valore chiave)
È possibile scartare i valori fittizi tramite 'rdd.keys'. –
Esiste un motivo/requisito per utilizzare Spark? – maasg
non proprio un requisito, solo iniziando a imparare scintilla e scala. è veloce malvagia. : D – user2773013