Ich komme aus Scala, aber ich glaube, dass es einen ähnlichen Weg in Java gibt.
Eine mögliche Lösung whould sein, die folgenden:
val query =spark.sql("select url,sourceip,destinationip from traffic_data").as[GroupClass]
Nun ist die Abfrage Wert hat den Typ Dataset[GroupClass]
, so ruft collectAsList()
Methode Retruns eine Liste [group]
val list = query.collectAsList();
Eine andere Lösung (ich glaube, Sie müssen streams
verwenden, um die gleiche Sache in Java zu tun) ist zu map
jeder von Liste in einem GroupClass
wie folgt:
val query =spark.sql("select url,sourceip,destinationip from traffic_data")
val list = query.collectAsList();
val mappedList = list.map {
case Row(url: String,sourceip: String,destinationip: String) =>
GroupClass(url, sourceip, destinationip)
}
ich der Auffassung, dass alle Attribute (url, SourceIP, destinationip) einen String
Sie die GroupedClass
zu schaffen haben:
GroupClass(url: String,sourceip: String,destinationip: String)
Hoffe, dass es
hilft
Mögliches Duplikat von [Wie generischen Listentypen in Java werfen?] (Https://stackoverflow.com/questions/905964/how-to-cast-generic -list-types-in-java) –