In meinem Code habe ich mehrere Berechnungen, die ich auf drei verschiedenen Spalten separat ausführen, um die Varianz/Std/Mittelwert usw. zu berechnen ..... Das Problem ist, dass dies fair läuft lange, weil die Werte neu zugeordnet werden müssen und dann die Varianz für jede Spalte berechnet werden muss.Async Spark RDD Berechnung für Varianz/Std/Mittelwert
Ist es möglich, alle drei dieser Anweisungen asynchron gleichzeitig auszuführen und den endgültigen Wert in den 3 im Beispiel angegebenen Variablen abzurufen?
Code unten:
final Double varSHOUR = dataset.mapToDouble(new DoubleFunction<modelEhealth>() {
@Override
public double call(modelEhealth modelEhealth) throws Exception {
return modelEhealth.getSHOUR();
}
}).variance();
final Double varHOURLYFRAMESIN = dataset.mapToDouble(new DoubleFunction<modelEhealth>() {
@Override
public double call(modelEhealth modelEhealth) throws Exception {
return modelEhealth.getHOURLYFRAMESIN();
}
}).variance();
final Double varHOURLYFRAMESOUT = dataset.mapToDouble(new DoubleFunction<modelEhealth>() {
@Override
public double call(modelEhealth modelEhealth) throws Exception {
return modelEhealth.getHOURLYFRAMESOUT();
}
}).variance();
Wenn Sie versuchen, Function2 für die Aggregation zu implementieren, müssen Sie einen Fehler vom Compiler im zweiten Teil des Codes erhalten, der als Abstract deklariert werden muss oder eine abstrakte Methode implementieren muss. – user2100493
Es kompiliert und läuft erfolgreich für mich - haben Sie die "Aufruf" -Methodensignatur geändert? Stellen Sie sicher, dass es Super-Eingabe entspricht und Rückgabetypen sollten mit der Typdefinition übereinstimmen. –