Nav*_*nth 1 sql hadoop apache-spark pyspark
我坚持从 datafrme 列在 pyspark 中从月份中获取周数,例如,将我的数据框视为
WeekID,DateField,WeekNUM
1,01/JAN/2017
2,15/Feb/2017
Run Code Online (Sandbox Code Playgroud)
我的输出应该如下
WeekIDm,DateField,MOF
1,01/JAN/2017,1
2,15/FEB/2017,2
Run Code Online (Sandbox Code Playgroud)
我尝试了 striftime 和其他我无法做到的日期函数。
请帮助我解决问题。
您可以组合to_date
和date_format
:
from pyspark.sql.functions import to_date, date_format
df = spark.createDataFrame(
[(1, "01/JAN/2017"), (2, "15/FEB/2017")], ("id", "date"))
df.withColumn("week", date_format(to_date("date", "dd/MMM/yyyy"), "W")).show()
+---+-----------+----+
| id| date|week|
+---+-----------+----+
| 1|01/JAN/2017| 1|
| 2|15/FEB/2017| 3|
+---+-----------+----+
Run Code Online (Sandbox Code Playgroud)
如果您想要一年中的一周,请用以下格式替换格式w
:
date_format(to_date("date", "dd/MMM/yyyy"), "w")
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7454 次 |
最近记录: |