Ich habe einen Datenrahmen, die wie folgt aussieht:Wie erhalte ich einen Wert von Dataset und speichere es in einem Scala-Wert?
scala> avgsessiontime.show()
+-----------------+
| avg|
+-----------------+
|2.073455735838315|
+-----------------+
Ich brauche den Wert 2,073455735838315 in einer Variablen zu speichern. Ich habe versucht,
avgsessiontime.collect
verwenden, aber das fängt mich Aufgabe nicht serializable Ausnahmen geben. Um das zu vermeiden, habe ich foreachPrition benutzt. Aber ich weiß nicht, wie man den Wert 2.073455735838315 in einer Array-Variablen extrahiert.
scala> avgsessiontime.foreachPartition(x => x.foreach(println))
[2.073455735838315]
Aber wenn ich dies tun:
avgsessiontime.foreachPartition(x => for (name <- x) name.get(0))
ich ein leeres/leer Ergebnis. Auch die Länge ist leer.
avgsessiontime.foreachPartition(x => for (name <- x) name.length)
Ich weiß Namen Typ ist org.apache.spark.sql.Row dann sollte es diese beiden Ergebnisse zurück.
_ "aber das fängt an, mir die Aufgabe nicht serialisierbare Ausnahmen zu geben." _ <- behebe das wirkliche Problem, führe keine neuen ein (!) Kannst du die Ausnahme + den Code einfügen? Was ist Spark-Version? –