繁体   English   中英

使用Java通过Spark从Cassandra表中获取最新记录

[英]Get latest records from cassandra table by spark using java

我已经找到了这个答案使用Scala获取与Spark Dataset中最新时间戳相对应的行

“ edate”是日期数据类型。

我想要使​​用java的类似输出。 我尝试了这个:

java.sql.Date yesterdayDate = yesterday();  
    Dataset<Row> wds = wddt.where(wddt.col("c").equalTo(yesterdayDate)).groupBy("mobileno").max("edate");

但我收到此错误:

org.apache.spark.sql.AnalysisException: "edate" is not a numeric column. Aggregation function can only be applied on a numeric column.;
at org.apache.spark.sql.RelationalGroupedDataset$$anonfun$3.apply(RelationalGroupedDataset.scala:101)
at org.apache.spark.sql.RelationalGroupedDataset$$anonfun$3.apply(RelationalGroupedDataset.scala:98)

根据错误消息和命名猜测,“ edate”似乎是日期列,而不是数字列。 那就是为什么您收到此错误消息。

另请参阅如何使用pyspark从按某些字段分组的给定数据集中获取max(date)?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM