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

说明

在 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)

原文出处:/show_1IX3MGFiNd8g.html