在pySpark中,我们可以使用to_timestamp
函数将字符串类型的列转换为datetime类型。
首先,我们需要导入pyspark.sql.functions
模块,它包含了to_timestamp
函数。
from pyspark.sql.functions import to_timestamp
然后,我们可以使用to_timestamp
函数来转换字符串类型的列。以下是一个示例代码:
df = spark.createDataFrame([(1, '2022-01-01 12:00:00'), (2, '2022-02-01 12:00:00')], ['id', 'datetime_str'])
df = df.withColumn('datetime', to_timestamp('datetime_str', 'yyyy-MM-dd HH:mm:ss'))
df.show()
在上述代码中,我们创建了一个DataFrame,并指定了两列:'id'和'datetime_str'。其中,'datetime_str'列包含了字符串类型的日期时间。
然后,我们使用withColumn
函数和to_timestamp
函数来创建新的列'datetime',并将'datetime_str'列转换为datetime类型。to_timestamp
函数的第一个参数是要转换的列名,第二个参数是日期时间格式的模式。
最后,我们使用show
函数打印转换后的DataFrame。输出结果应该类似于:
+---+-------------------+-------------------+
| id| datetime_str| datetime|
+---+-------------------+-------------------+
| 1|2022-01-01 12:00:00|2022-01-01 12:00:00|
| 2|2022-02-01 12:00:00|2022-02-01 12:00:00|
+---+-------------------+-------------------+
在这个例子中,我们成功将字符串类型的列'datetime_str'转换为了datetime类型的列'datetime'。
领取专属 10元无门槛券
手把手带您无忧上云