spark3.0-python教程-SparkSQL:日期转换-DataFrame.cast() 方式

说明

使用 DataFrame 的 .cast() 函数,将字符串类型的日期,转换成 date 类型

语法

DataFrame对象['字段'].cast(类型)

解释:

例子


'''
通过 api 将字符串类型的日期,转换成date类型
'''

import findspark
findspark.init()

from pyspark.sql import  SparkSession 
from pyspark.sql.types import *

spark = SparkSession.builder.\
    appName("test").\
    master("local[*]").\
    enableHiveSupport().\
    config("spark.sql.shuffle.partitions", "2").\
    getOrCreate()

spark.sparkContext.setLogLevel("ERROR")

d = [
    ("1", "李雷", 20,"1999-09-06"),
    ("2", "韩梅梅", 21,"1998-09-08")
    ]

spark.createDataFrame(d).toDF("id","name","age","date").createOrReplaceTempView("student")

df = spark.sql("select * from student")

# 类型转换
df = df.withColumn("date", df['date'].cast(DateType()))

df.show()
df.printSchema()

spark.stop()

执行结果:

+---+------+---+----------+
| id|  name|age|      date|
+---+------+---+----------+
|  1|  李雷| 20|1999-09-06|
|  2|韩梅梅| 21|1998-09-08|
+---+------+---+----------+

root
 |-- id: string (nullable = true)
 |-- name: string (nullable = true)
 |-- age: long (nullable = true)
 |-- date: date (nullable = true)

感谢:
https://blog.csdn.net/qq_34615112/article/details/106949332


原文出处:/show_1IX3MGMi1Pc3.html