scala - 运行 Seq[Column] 时,我在 Scala spark 中收到以下错误
问题描述
错误是:
<console>:195: error: not found: type Column
val aggExprs: Seq[Column] = output.columns.filterNot(_=="id")
代码如下:
val df =Seq(
(1, 1.0, true, "a"),
(1, 2.0, false, "b")
).toDF("id","d","b","s")
val dataTypes: Map[String, DataType] = df.schema.map(sf =>
(sf.name,sf.dataType)).toMap
def genericAgg(c:String) = {
dataTypes(c) match {
case DoubleType => sum(col(c))
case StringType => concat_ws(",",collect_list(col(c))) // "append"
case BooleanType => max(col(c))
}
}
**val aggExprs: Seq[Column] = df.columns.filterNot(_=="id")**
.map(c => genericAgg(c))
df
.groupBy("id")
.agg(
aggExprs.head,aggExprs.tail:_*
)
.show()
解决方案
推荐阅读
- javascript - Gulp“不支持的 gulp 版本”问题
- azure-ad-b2c - Azure AD B2C 自定义策略 - 如何从策略中获取名字、姓氏?
- sql - SUM() 同一数据集中的几个日期周期
- java - 应用 onDestroy 应用程序
- python - Python pip包安装
- mysql - 在 sql 查询中管理时间和数据
- python - ValueError:未知标签类型:使用逻辑回归时“连续”
- php - 在 SOAP 请求上收到 400 个错误请求(传输编码:分块问题?)
- android - 如何设置点击项目,去另一个布局?
- python - Google App Engine 自定义运行时应用程序启动错误