scala - Scala递归覆盖DF中的列类型
问题描述
我想将我的数据框架构中的年、月和日列从整数转换为字符串。
|-- year: integer (nullable = true)
|-- month: integer (nullable = true)
|-- day: integer (nullable = true)
它应该返回相同的 DF,但特定列的列类型更改String
为。
我得到的错误是
def transformDate(df: Dataset[Row], spark: SparkSession): Dataset[Row] = {
val cols = Seq("month","day","year")
for (col <- cols) {
val df = df.withColumn(col, $"col".cast(org.apache.spark.sql.types.StringType))
}
df
}
我的功能有什么问题?
解决方案
推荐阅读
- shell - 来自 Dockerfile 的 .sh 脚本 RUN 的结果未保存到映像
- sql-server-2008 - SQL Server Update Case When Then 语句
- django - 基于 Django 函数的视图 get_form_kwargs
- android - 即使在包含 lint 操作之后也没有创建 jar
- angularjs - 剑道网格导出到 excel - 从右到左支持
- function - CMake:如何从函数内部修改变量
- node.js - 当我通过 app.js 中的 foreach 添加路由时,Router.use() 抛出错误
- php - cURL 错误 56:在发送 xml 请求时从对等方接收数据失败
- ruby-on-rails - 使用 http 在 Rails 中共享模型数据
- ios - 无法在 Xcode 10/iOS 12 中进行自定义 segue