Tak, jak najbardziej chodzi tu o Sparka.
Problem z podaniem przykładowego kodu polega na tym, że ja zwyczajnie nie jestem w stanie go napisać, bo operowanie na danych w tym języku jest dla mnie zupełną abstrakcją i czymś zupełnie innym niż to, do czego udało mi się przywyknąć i o ile rozumiem Waszą reakcję, to gdybym był w stanie podać kod, to nie musiałbym zgłaszać się na forum. Ja ugrzązłem już na etapie koncepcyjnym, a nie na tym, że mam funkcję castującą i mi ją podkreśla na czerwono.
Poniżej podaję co mniej więcej chciałbym w kodzie zobaczyć, moze komuś uda się wykryć jakieś upośledzenie w moim toku rozumowania i znajdziecie jakiś fajny młotek, który przy jednym uderzeniu wbije gwódź tak, by przybić deskę, a przy drugim uderzeniu wbije mi trochę wiedzy do łba za bardzo nie uszkadzając czaszki.
Kopiuj
val listaRowówZDataframe = innyDataFrame.select("kolumna1", "columna2").collectAsList().asScala.toList
def obliczAvg(listaRowów : Row): List[Double] = {
// tu chciałbym wykonać cast z List[Row] na List[List] i kolejne obliczenie, przykładowo:
tempList = listaRowów.map(x => tutaj powinno odbyć się rzutowanie x typu Row na x typu List)
// tu dla każdej podlisty chciałbym wykonać obliczenie średniej z każdej podlisty i zwrócić List[Double]
}
// tu powinienem wywołać obliczAvg(listaRowówZDataframe)
99xmarcin