Pyspark中pyspark.sql.functions常用方法(2)(时间函数)

pyspark sql functions

current_database

返回当前数据库

spark.range(1).select(current_database()).show()  
+------------------+
|current_database()|
+------------------+
|           default|
------------------+

current_date 获取当前日期

df.withColumn('ldsx',sf.current_date()).show()  
+---+----------+
| id|      ldsx|
+---+----------+
|  0|2024-10-09|
+---+----------+

add_months 月份操作

df = spark.createDataFrame([('2015-04-08', 2)], ['dt', 'add'])
df.show()
+----------+---+
|        dt|add|
+----------+---+
|2015-04-08|  2|
+----------+---+

df.select(sf.add_months(df.dt, 1).alias('next_month')).show()
+----------+
|next_month|
+----------+
|2015-05-08|
+----------+

df.select(sf.add_months('dt', -2).alias('prev_month')).show()
+----------+
|prev_month|
+----------+
|2015-02-08|
+----------+

date_add 日操作增加

df = spark.createDataFrame([('2015-04-08', 2,)], ['dt', 'add'])
# 日期加1
df.select(date_add(df.dt, 1).alias('next_date')).collect()
[Row(next_date=datetime.date(2015, 4, 9))]
# 日期-1
df.select(date_add('dt', -1).alias('prev_date')).collect()
[Row(prev_date=datetime.date(2015, 4, 7))]

date_sub 日操作减少与date_add相反

df.show()
+----------+---+
|        dt|sub|
+----------+---+
|2015-04-08|  2|
+----------+---+

df.select(sf.date_sub(df.dt, 1).alias('prev_date')).show()
+----------+
| prev_date|
+-------
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值