apache-spark - 试图转换时间戳但得到模式 datetimeformatter 错误
问题描述
我有一个创建的列作为string
我要转换为的类型Datetime
格式如下所示:7/26/2021 10:12:48 PM
我尝试了以下但收到错误消息:
display(
sdf.select(
"*", F.to_timestamp(F.col("created"), "MM-dd-yyyy hh:mm:ss aa").alias("dt")
)
)
当我删除一个“a”时,我只得到NULLs
解决方案
你有一个约会,/
你尝试用-
.
尝试这个 :"MM/dd/yyyy hh:mm:ss a"
df = spark.createDataFrame([["7/26/2021 10:12:48 PM"]], ["created"]).select(
"*", F.to_timestamp(F.col("created"), "MM/dd/yyyy hh:mm:ss a").alias("dt")
)
df.show()
+--------------------+-------------------+
| created| dt|
+--------------------+-------------------+
|7/26/2021 10:12:4...|2021-07-26 22:12:48|
+--------------------+-------------------+
df.printSchema()
root
|-- created: string (nullable = true)
|-- dt: timestamp (nullable = true)
推荐阅读
- types - 你如何声明一个总和类型/类型联合?
- python - OBS Studio 如何以编程方式设置选项
- javascript - 为什么 Chrome 的 PushManager 会返回旧版 API?
- r - 尝试使用完整日历单击事件显示以显示带有附加事件信息的弹出窗口
- python - 使用fileinput用python编辑C文件
- google-apps-script - 在谷歌表格上,这段代码没有运行是有原因的吗?
- javascript - 如何从javascript中的事件处理程序内部修改外部变量?
- c# - 聚合 DataTable 中的多个列并将结果放入新的 DataTable
- java - 无需下载到缓存的 Gradle 依赖管理
- python - AWS Lambda 错误:AttributeError 'list' 对象没有属性 'get'