首页 > 解决方案 > Spark 更改列类型失败

问题描述

root
 |-- dt: timestamp (nullable = true)
 |-- AverageTemperature: double (nullable = true)
 |-- AverageTemperatureUncertainty: double (nullable = true)
 |-- City: string (nullable = true)
 |-- Country: string (nullable = true)
 |-- Latitude: string (nullable = true)
 |-- Longitude: string (nullable = true)

我有来自 Spark 的上述数据模式。我正在尝试将 dt 中的类型时间戳更改为字符串

temperature_df.withColumn("dt",col("dt").cast(StringType()))

这就是我所做的,我收到以下错误:

TypeError: 'list' object is not callable

有人可以向我解释为什么我会收到此错误吗?

标签: apache-sparkpysparkapache-spark-sql

解决方案


from pyspark.sql import functions as f 
from pyspark.sql.types import StringType
temperature_df.withColumn("dt",f.col("dt").cast(StringType()))


推荐阅读