我用这个语法收集了一个列表。
val cutoff = df.withColumn("rank", dense_rank() over bydf).filter("rank=5").select("amount").collectAsList()
[[10.5]]
当我试图索引列表截断以提取值10.5时,我得到了以下错误:
Error:(38, 17) java.util.List[org.apache.spark.sql.Row] does not take parameters
如何修复此问题并从嵌套列表中提取10.5
1条答案
按热度按时间ttvkxqim1#
因为您是在Dataframe上收集数据,所以会返回一个行列表。最简单的方法是在收集之前将其转换为数据集。也就是说(假定金额是双倍):