Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 演员名单<;世界其他地区>;列出<;T>;在爪哇_Java_Apache Spark - Fatal编程技术网

Java 演员名单<;世界其他地区>;列出<;T>;在爪哇

Java 演员名单<;世界其他地区>;列出<;T>;在爪哇,java,apache-spark,Java,Apache Spark,我从cassandra表中选取值并将其存储在数据集中,如下所示: Dataset query =spark.sql("select url,sourceip,destinationip from traffic_data"); List<Row> = query.collectAsList(); Dataset query=spark.sql(“从流量数据中选择url、sourceip、destinationip”); List=query.collectAsList(); 现在

我从cassandra表中选取值并将其存储在数据集中,如下所示:

Dataset query =spark.sql("select url,sourceip,destinationip from traffic_data");
List<Row> = query.collectAsList();
Dataset query=spark.sql(“从流量数据中选择url、sourceip、destinationip”);
List=query.collectAsList();
现在我有了一个POJO类GroupClass,它有url、sourceip和DestinationIP等变量

Is it possible to cast this List<Row> to List<GroupClass>?
是否可以将此列表强制转换为列表?

从技术上讲,您可以,但这将在运行时抛出一个
ClassCastException


在本例中,最佳实践是使用。

我来自scala,但我相信java中也有类似的方法

可能的解决方案如下:

val query =spark.sql("select url,sourceip,destinationip from traffic_data").as[GroupClass]
现在查询值的类型为
Dataset[GroupClass]
,因此调用
collectAsList()
方法会运行一个List[GroupClass]

val list = query.collectAsList();
另一个解决方案(我认为您必须使用
streams
在java中做同样的事情)是
map
GroupClass
中的列表中映射每个
,如下所示:

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)
}
我认为所有属性(url、sourceip、destinationip)都有一个
字符串

您必须创建
GroupedClass

GroupClass(url: String,sourceip: String,destinationip: String)

希望对您有所帮助

您应该使用编码器

Dataset schools = context
.read()
.json("/schools.json")
.as(Encoders.bean(University.class));
更多信息可以在这里找到
或者在这里

如果您使用上面的代码,它将绝对显示为错误,因为正如我上面所说的,这段代码是针对scala的。无论如何,请分享此错误,以便我们可以帮助您!!