python - 我的日期格式为 m/dd/yyyy h:mm 和 mm/dd/yyyy h:mm,我想在 sparksql 中以 yyyy-mm-dd hh:mm:ss 输出。但我越来越空
问题描述
我有像 4/5/2017 0:00 和 12/21/2016 0:00 这样的值,我希望它采用 yyyy-mm-dd hh:mm:ss 格式。
我正在使用它来完成任务。
stf1.withColumn('approval',unix_timestamp("approval","MM/dd/yyyy h:mm ")
其中 sf1 是数据框,approval 是我要转换为的列名。但我得到的答案为空。而不是预期的。
解决方案
您可以为此使用 sql 函数。
>>> import pyspark.sql.functions as F
>>> df.show()
+-------------+
| a|
+-------------+
|4/5/2017 0:00|
+-------------+
>>> df.withColumn('b',F.date_format(F.to_date('a','MM/dd/yyyy HH:mm'),'yyyy-MM-dd HH:mm:ss')).show()
+-------------+-------------------+
| a| b|
+-------------+-------------------+
|4/5/2017 0:00|2017-04-05 00:00:00|
+-------------+-------------------+
推荐阅读
- sql-server-2012 - 左连接视图在 SQL Server 中花费了太多时间
- android - 如何移动(翻译动画)具有可点击区域的按钮?
- php - 多人使用时,我的项目目录中是否有生成的二维码会混在一起?
- c - 如何将值从第一个数组复制到另一个数组?
- reactjs - 未找到模块:无法解析“C:\Users\USER\Desktop\test\src”中的“react”
- python - 如何包络非周期信号?
- go - 在 GoLang 中将字符串转换为 func 类型
- c# - WCF Restful 服务(WebHttpBinding)-“System.Net.WebException”类型的异常-远程服务器返回错误:(404)未找到
- amazon-web-services - AWS SAM CLI 超时
- github - GitHub API:个人访问令牌会自行删除