说明
在 SQL 中,使用 to_date() 函数,将字符串类型的日期,转换成 date 类型
语法
to_date(字段,格式)
解释:
- 格式:
yyyy-MM-dd
例子
'''
通过 to_date() 函数将字符串类型的日期,转换成date类型
'''
import findspark
findspark.init()
from pyspark.sql import SparkSession
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 *,to_date(date,'yyyy-MM-dd') as date2 from student")
df.show()
df.printSchema()
spark.stop()
执行结果:
+---+------+---+----------+----------+
| id| name|age| date| date2|
+---+------+---+----------+----------+
| 1| 李雷| 20|1999-09-06|1999-09-06|
| 2|韩梅梅| 21|1998-09-08|1998-09-08|
+---+------+---+----------+----------+
root
|-- id: string (nullable = true)
|-- name: string (nullable = true)
|-- age: long (nullable = true)
|-- date: string (nullable = true)
|-- date2: date (nullable = true)