spark3.0-python教程-SparkSQL:日期转换-DataFrame.cast() 方式 作者:马育民 • 2022-05-22 16:03 • 阅读:10209 # 说明 使用 DataFrame 的 `.cast()` 函数,将字符串类型的日期,转换成 `date` 类型 ### 语法 ``` DataFrame对象['字段'].cast(类型) ``` **解释:** - 类型:见:[spark3.0教程-SparkSQL:数据类型](https://www.malaoshi.top/show_1IX3MFcE7USA.html "spark3.0教程-SparkSQL:数据类型") python部分 # 例子 ``` ''' 通过 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 原文出处:http://malaoshi.top/show_1IX3MGMi1Pc3.html