Ho difficoltà durante il lavoro con i frame di dati in spark con Scala. Se ho un frame di dati che voglio estrarre una colonna di voci univoche, quando uso groupBy
non ottengo un frame di dati indietro.Uso di groupBy in Spark e ritorno a un DataFrame
Per esempio, ho un DataFrame
chiamati registri che ha la seguente forma:
machine_id | event | other_stuff
34131231 | thing | stuff
83423984 | notathing | notstuff
34131231 | thing | morestuff
e vorrei gli ID macchina unica dove l'evento è cosa salva in una nuova DataFrame
per permettermi di fare un po 'di filtraggio di qualche tipo. Utilizzando
val machineId = logs
.where($"event" === "thing")
.select("machine_id")
.groupBy("machine_id")
ho un val di dati raggruppati di nuovo che è un dolore nel culo per utilizzare (o non so come usare questo tipo di oggetto correttamente). Avendo ottenuto questo elenco di ID macchina univoci, voglio quindi usarlo nel filtrare un altro DataFrame
per estrarre tutti gli eventi per i singoli ID macchina.
posso vedere io voglio fare questo genere di cose abbastanza regolarmente e il flusso di lavoro di base è: id
- estratto uniche da una tabella di log.
- Utilizzare ID univoci per estrarre tutti gli eventi per un determinato ID.
- Utilizzare alcuni tipi di analisi su questi dati che sono stati estratti.
Sono i primi due gradini che apprezzerei un po 'di guida qui.
Apprezzo che questo esempio sia un po 'forzato ma spero che spieghi qual è il mio problema. Può darsi che non ne sappia abbastanza sugli oggetti GroupedData
o (come spero) mi manca qualcosa nei frame di dati che lo rende facile. Sto usando la scintilla 1.5 costruita su Scala 2.10.4.
Grazie