PySpark实战:DataFrame日期时间处理

来自CloudWiki
跳转至: 导航搜索

介绍

在很多业务中,

需要对日期或时间字段进行计算。

比如计算单据日期的前一天或者前一周的时间是多少。

代码


import findspark
findspark.init()
##############################################
from pyspark.sql import SparkSession
spark = SparkSession.builder \
        .master("local[1]") \
        .appName("RDD Demo") \
        .getOrCreate();
sc = spark.sparkContext
#############################################
df = spark.createDataFrame([('2020-05-10',),('2020-05-09',)], ['dt'])
#前面表示名称,dt表示字段名

from pyspark.sql.functions import add_months
df.select(add_months(df.dt, 1).alias('next_month')) \
  .show()
#add_months:对dt字段加1处理,即下个月的日期。
#alias :对该字段进行重命名

# +----------+
# |next_month|
# +----------+
# |2020-06-10|
# |2020-06-09|
# +----------+
##############################################

输出

+----------+
|next_month|
+----------+
|2020-06-10|
|2020-06-09|
+----------+