在Spark中,可以通过使用to_timestamp
函数将字符串转换为TimestampType
列。
具体步骤如下:
to_timestamp
函数将字符串转换为TimestampType
列:df = df.withColumn("timestamp_column", to_timestamp(df.timestamp_string, "yyyy-MM-dd HH:mm:ss"))在上述代码中,to_timestamp
函数的第一个参数是要转换的字符串列,第二个参数是字符串的格式。根据实际情况,可以调整格式字符串以匹配输入字符串的格式。
TimestampType
:df = df.withColumn("timestamp_column", df.timestamp_column.cast(TimestampType()))这一步是可选的,如果不进行类型转换,列的数据类型将保持为字符串。
完整代码示例:
from pyspark.sql import SparkSession
from pyspark.sql.functions import to_timestamp
from pyspark.sql.types import TimestampType
spark = SparkSession.builder.getOrCreate()
data = [("2022-01-01 12:00:00"), ("2022-01-02 13:30:00")]
df = spark.createDataFrame(data, ["timestamp_string"])
df = df.withColumn("timestamp_column", to_timestamp(df.timestamp_string, "yyyy-MM-dd HH:mm:ss"))
df = df.withColumn("timestamp_column", df.timestamp_column.cast(TimestampType()))
df.show()
这样,你就可以在Spark中从字符串创建TimestampType
列了。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云